> 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 one additional 
commit since the last revision:

  The equal.allTrue check early if the loop does not cover cases where some 
bytes are equal, but not all. Reverting this change.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12790/files
  - new: https://git.openjdk.org/jdk/pull/12790/files/0e549caa..0272740c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12790&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12790&range=04-05

  Stats: 3 lines in 1 file changed: 1 ins; 0 del; 2 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