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