> 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 with a new target base due to a 
merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains eight additional 
commits since the last revision:

 - Merge branch 'openjdk:master' into Base64-AVX2
 - Remove whitespace
 - Fix wrong register usage
 - Working version of Base64 decode with AVX2 (4x perf improvement). No URL 
support
 - Merge branch 'Base64-AVX2' of https://github.com/asgibbons/jdk into 
Base64-AVX2
 - Merge branch 'openjdk:master' into Base64-AVX2
 - Intermediate AVX2 for decode
 - Fix various AVX support function invocations to get Base64 generated for AVX2

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12126/files
  - new: https://git.openjdk.org/jdk/pull/12126/files/9cfa6bbd..0f4b9c88

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

  Stats: 4398 lines in 281 files changed: 2042 ins; 692 del; 1664 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

Reply via email to