Withdrawn: 8274243: Implement fast-path for ASCII-compatible CharsetEncoders on aarch64

Patric Hedlin phedlin at openjdk.java.net
Tue Dec 7 13:44:21 UTC 2021


On Mon, 6 Dec 2021 14:09:07 GMT, Patric Hedlin <phedlin at openjdk.org> wrote:

> Implementation of ISO/ASCII char set encoding, extending current implementation with ASCII encoding support.
> 
> Implementation focusing on balance between small footprint and efficiency, trying to utilise a dual SIMD path (e.g. Neoverse N1) for the additional Ascii-check.
> 
> Testing: tier1-6
> 
> Benchmarks, 18-b26 vs. update (ran on Aurora/Ampere Altra):
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16384-type:ASCII..........72.23%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16384-type:BIG5...........70.38%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16384-type:ISO_8859_15....67.81%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16384-type:UTF_16......... 3.72%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16384-type:UTF_8..........68.50%
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:2048-type:ASCII...........65.59%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:2048-type:BIG5............60.59%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:2048-type:ISO_8859_15.....63.79%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:2048-type:UTF_16.......... 1.04%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:2048-type:UTF_8...........63.33%
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:512-type:ASCII............57.25%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:512-type:BIG5.............49.33%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:512-type:ISO_8859_15......61.37%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:512-type:UTF_16........... 0.02%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:512-type:UTF_8............54.75%
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:255-type:ASCII............54.52%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:255-type:BIG5.............40.41%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:255-type:ISO_8859_15......58.46%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:255-type:UTF_16...........-0.55%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:255-type:UTF_8............55.98%
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:127-type:ASCII............47.37%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:127-type:BIG5.............36.41%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:127-type:ISO_8859_15......50.83%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:127-type:UTF_16........... 8.63%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:127-type:UTF_8............48.95%
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:31-type:ASCII.............17.55%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:31-type:BIG5..............18.58%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:31-type:ISO_8859_15.......20.82%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:31-type:UTF_16............ 4.16%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:31-type:UTF_8.............18.44%
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16-type:ASCII.............21.96%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16-type:BIG5..............22.42%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16-type:ISO_8859_15.......30.27%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16-type:UTF_16............-1.17%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:16-type:UTF_8.............35.99%
> 
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:15-type:ASCII............. 6.19%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:15-type:BIG5.............. 7.34%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:15-type:ISO_8859_15....... 8.34%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:15-type:UTF_16............-0.46%
> openjdk.bench.java.nio.CharsetEncodeDecode.encode-size:15-type:UTF_8............. 6.80%

This pull request has been closed without being integrated.

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

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


More information about the hotspot-compiler-dev mailing list