RFR: 8262989: Vectorize VectorShuffle checkIndexes, wrapIndexes and laneIsValid methods

Sandhya Viswanathan sviswanathan at openjdk.java.net
Wed Mar 3 23:13:00 UTC 2021


The hot path of VectorShuffle checkIndexes, wrapIndexes and laneIsValid methods can be implemented using Vector API methods.

For the attached jmh TestSlice.java, performance improves as below.

Before: 
Benchmark                                     (size)   Mode  Cnt     Score    Error   Units
TestSlice.vectorSliceOrigin                     1024  thrpt    5  1224.698 ± 53.825  ops/ms
TestSlice.vectorSliceUnsliceOrigin              1024  thrpt    5   657.895 ± 31.945  ops/ms

After: 
Benchmark                                     (size)   Mode  Cnt      Score    Error   Units
TestSlice.vectorSliceOrigin                     1024  thrpt    5  11221.532 ± 88.616  ops/ms
TestSlice.vectorSliceUnsliceOrigin              1024  thrpt    5   6509.519 ± 18.102  ops/ms

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

Commit messages:
 - 8262989: Vectorize VectorShuffle checkIndexes, wrapIndexes and laneIsValid methods

Changes: https://git.openjdk.java.net/jdk/pull/2819/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2819&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8262989
  Stats: 43 lines in 8 files changed: 7 ins; 9 del; 27 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2819.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2819/head:pull/2819

PR: https://git.openjdk.java.net/jdk/pull/2819


More information about the core-libs-dev mailing list