RFR: 8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64 [v2]

Matthias Baesken mbaesken at openjdk.java.net
Mon Nov 29 15:28:08 UTC 2021


On Thu, 25 Nov 2021 15:46:29 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> PPC64 port of 8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
>> I moved the `encode_iso_array` implementation into `C2_MacroAssembler` and reused it for the new ASCII node. The algorithm is unchanged. We only need to change the mask because (non-extended) ASCII uses 7 bit (also see x86 implementation).
>> 
>> 'micro:CharsetEncodeDecode' benchmark results without intrinsic on Power9:
>> 
>> 
>> Benchmark                   (size)       (type)  Mode  Cnt    Score   Error  Units
>> CharsetEncodeDecode.encode   16384        UTF-8  avgt   30   14.530 ± 0.012  us/op
>> CharsetEncodeDecode.encode   16384         BIG5  avgt   30   15.359 ± 0.014  us/op
>> CharsetEncodeDecode.encode   16384  ISO-8859-15  avgt   30   14.256 ± 0.019  us/op
>> CharsetEncodeDecode.encode   16384        ASCII  avgt   30   14.237 ± 0.012  us/op
>> 
>> 
>> With intrinsic:
>> 
>> 
>> Benchmark                   (size)       (type)  Mode  Cnt    Score   Error  Units
>> CharsetEncodeDecode.encode   16384        UTF-8  avgt   30    5.085 ± 0.016  us/op
>> CharsetEncodeDecode.encode   16384         BIG5  avgt   30    5.905 ± 0.023  us/op
>> CharsetEncodeDecode.encode   16384  ISO-8859-15  avgt   30    4.795 ± 0.023  us/op
>> CharsetEncodeDecode.encode   16384        ASCII  avgt   30    4.798 ± 0.013  us/op
>
> Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Enable new ASCII node.

Marked as reviewed by mbaesken (Reviewer).

-------------

PR: https://git.openjdk.java.net/jdk/pull/6565


More information about the hotspot-compiler-dev mailing list