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

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

Commit messages:
 - Remove references to 'the oldest ASCII trick in the book'
 - Merge branch 'master' into vectorized-equalsignorecase
 - Fix "using applying"
 - Benchmark for exploring a vectorized latin1 equalsIgnoreCase

Changes: https://git.openjdk.org/jdk/pull/12790/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12790&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8303401
  Stats: 152 lines in 1 file changed: 152 ins; 0 del; 0 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

Reply via email to