RFR: JDK-8300808: Accelerate Base64 on x86 for AVX2 [v12]

Scott Gibbons duke at openjdk.org
Tue Feb 7 18:15:22 UTC 2023


> Added code for Base64 acceleration (encode and decode) which will accelerate ~4x for AVX2 platforms.
> 
> Encode performance:
> **Old:**
> 
> Benchmark                      (maxNumBytes)   Mode  Cnt     Score   Error   Units
> Base64Encode.testBase64Encode           1024  thrpt    3  4309.439 ± 2.632  ops/ms
> 
> 
> **New:**
> 
> Benchmark                      (maxNumBytes)   Mode  Cnt      Score     Error   Units
> Base64Encode.testBase64Encode           1024  thrpt    3  24211.397 ± 102.026  ops/ms
> 
> 
> Decode performance:
> **Old:**
> 
> Benchmark                      (errorIndex)  (lineSize)  (maxNumBytes)   Mode  Cnt     Score    Error   Units
> Base64Decode.testBase64Decode           144           4           1024  thrpt    3  3961.768 ± 93.409  ops/ms
> 
> **New:**
> Benchmark                      (errorIndex)  (lineSize)  (maxNumBytes)   Mode  Cnt      Score    Error   Units
> Base64Decode.testBase64Decode           144           4           1024  thrpt    3  14738.051 ± 24.383  ops/ms

Scott Gibbons has updated the pull request incrementally with one additional commit since the last revision:

  Back out change to encode

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12126/files
  - new: https://git.openjdk.org/jdk/pull/12126/files/0a274e5a..d23206db

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12126&range=11
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12126&range=10-11

  Stats: 6 lines in 1 file changed: 1 ins; 1 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/12126.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12126/head:pull/12126

PR: https://git.openjdk.org/jdk/pull/12126


More information about the hotspot-compiler-dev mailing list