RFR: 8303401: Add a Vector API equalsIgnoreCase micro benchmark [v8]
Paul Sandoz
psandoz at openjdk.org
Wed Mar 1 17:52:36 UTC 2023
On Wed, 1 Mar 2023 17:48:46 GMT, Eirik Bjorsnos <duke at openjdk.org> wrote:
>> This PR suggests we add a vectorized equalsIgnoreCase benchmark to the set of benchmarks in `org.openjdk.bench.jdk.incubator.vector`. This benchmark serves as an example of how vectorization can be useful also in the area of text processing. It takes advantage of the fact that ASCII and Latin-1 were designed to optimize case-twiddling operations.
>>
>> The code came about during the work on #12632, where vectorization was deemed out of scope.
>>
>> Benchmark results:
>>
>>
>> Benchmark (size) Mode Cnt Score Error Units
>> EqualsIgnoreCaseBenchmark.scalar 16 avgt 15 21.575 ± 0.365 ns/op
>> EqualsIgnoreCaseBenchmark.scalar 32 avgt 15 43.199 ± 2.786 ns/op
>> EqualsIgnoreCaseBenchmark.scalar 64 avgt 15 71.389 ± 0.891 ns/op
>> EqualsIgnoreCaseBenchmark.scalar 128 avgt 15 146.827 ± 1.115 ns/op
>> EqualsIgnoreCaseBenchmark.scalar 1024 avgt 15 1062.759 ± 9.331 ns/op
>> EqualsIgnoreCaseBenchmark.vectorized 16 avgt 15 21.483 ± 0.121 ns/op
>> EqualsIgnoreCaseBenchmark.vectorized 32 avgt 15 10.538 ± 0.125 ns/op
>> EqualsIgnoreCaseBenchmark.vectorized 64 avgt 15 13.182 ± 0.177 ns/op
>> EqualsIgnoreCaseBenchmark.vectorized 128 avgt 15 19.192 ± 0.421 ns/op
>> EqualsIgnoreCaseBenchmark.vectorized 1024 avgt 15 92.521 ± 3.494 ns/op
>
> Eirik Bjorsnos has updated the pull request incrementally with one additional commit since the last revision:
>
> Add whitespace after if
Marked as reviewed by psandoz (Reviewer).
-------------
PR: https://git.openjdk.org/jdk/pull/12790
More information about the core-libs-dev
mailing list