Integrated: 8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
Martin Doerr
mdoerr at openjdk.java.net
Tue Nov 30 09:25:15 UTC 2021
On Thu, 25 Nov 2021 15:33:30 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
This pull request has now been integrated.
Changeset: a5f2a58b
Author: Martin Doerr <mdoerr at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/a5f2a58ba4ac25f4bd66f1f1f4c036a4f0024229
Stats: 78 lines in 4 files changed: 46 ins; 14 del; 18 mod
8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
Reviewed-by: lucy, mbaesken
-------------
PR: https://git.openjdk.java.net/jdk/pull/6565
More information about the hotspot-compiler-dev
mailing list