On Wed, 3 Mar 2021 22:32:48 GMT, Sandhya Viswanathan <sviswanat...@openjdk.org> 
wrote:

> 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

Looks good, a nice incremental improvement.

I suppose `checkIndexes` and `wrapIndexes` could call `laneIsValid`, and then 
call `anyFalse` on the resulting mask. Dunno if that would affect the generated 
code.

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

Marked as reviewed by psandoz (Reviewer).

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

Reply via email to