RFR: JDK-8300808: Accelerate Base64 on x86 for AVX2 [v7]
Claes Redestad
redestad at openjdk.org
Wed Feb 1 20:57:05 UTC 2023
On Wed, 1 Feb 2023 18:28:25 GMT, Scott Gibbons <duke at openjdk.org> wrote:
>> 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:
>
> Handle AVX2 URL; address review comments
src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 2202:
> 2200: }
> 2201:
> 2202: address StubGenerator::base64_AVX2_decode_URL_tables_addr() {
Shouldn't this be `decode_lut_tables`? As it's used for URL and non-URL decoding alike.
-------------
PR: https://git.openjdk.org/jdk/pull/12126
More information about the core-libs-dev
mailing list