> 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 20.671 ± 0.718 > ns/op > EqualsIgnoreCaseBenchmark.scalar 32 avgt 15 46.155 ± 3.258 > ns/op > EqualsIgnoreCaseBenchmark.scalar 64 avgt 15 68.248 ± 1.767 > ns/op > EqualsIgnoreCaseBenchmark.scalar 128 avgt 15 148.948 ± 0.890 > ns/op > EqualsIgnoreCaseBenchmark.scalar 1024 avgt 15 1090.708 ± 7.540 > ns/op > EqualsIgnoreCaseBenchmark.vectorized 16 avgt 15 21.872 ± 0.232 > ns/op > EqualsIgnoreCaseBenchmark.vectorized 32 avgt 15 11.378 ± 0.097 > ns/op > EqualsIgnoreCaseBenchmark.vectorized 64 avgt 15 13.703 ± 0.135 > ns/op > EqualsIgnoreCaseBenchmark.vectorized 128 avgt 15 21.632 ± 0.735 > ns/op > EqualsIgnoreCaseBenchmark.vectorized 1024 avgt 15 105.509 ± 7.493 > ns/op
Eirik Bjorsnos has updated the pull request incrementally with two additional commits since the last revision: - Uppercase Thorn is 0xDE - Update 'a' to 'A' and 'z' to 'Z' in comments ------------- Changes: - all: https://git.openjdk.org/jdk/pull/12790/files - new: https://git.openjdk.org/jdk/pull/12790/files/d8c0c2ed..6bc04db0 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=12790&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12790&range=01-02 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/12790.diff Fetch: git fetch https://git.openjdk.org/jdk pull/12790/head:pull/12790 PR: https://git.openjdk.org/jdk/pull/12790