RFR: 8259278: Optimize Vector API slice and unslice operations
Sandhya Viswanathan
sviswanathan at openjdk.java.net
Tue Jan 5 23:18:04 UTC 2021
This pull request optimizes Vector API slice and unslice operations.
All the slice and unslice variants that take more than one argument are implemented in terms of already intrinsic methods on similar lines as slice(origin) and unslice(origin).
Also, the slice and unslice intrinsics for 256-bit byte/short vectors implemented for x86 platforms supporting AVX2 using a sequence of instructions.
For TestSlice.java attached to JBS (https://bugs.openjdk.java.net/browse/JDK-8259278):
Before:
Benchmark (size) Mode Cnt Score Error Units
TestSlice.vectorSliceOrigin 1024 thrpt 5 17.665 ± 0.980 ops/ms
TestSlice.vectorSliceOriginVector 1024 thrpt 5 604.179 ± 5.795 ops/ms
TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 9.286 ± 0.088 ops/ms
TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 435.678 ± 30.171 ops/ms
TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 440.492 ± 24.592 ops/ms
After:
Benchmark (size) Mode Cnt Score Error Units
TestSlice.vectorSliceOrigin 1024 thrpt 5 1319.044 ± 67.862 ops/ms
TestSlice.vectorSliceOriginVector 1024 thrpt 5 969.514 ± 33.411 ops/ms
TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 687.804 ± 31.511 ops/ms
TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 560.807 ± 20.600 ops/ms
TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 560.202 ± 4.012 ops/ms
Please review.
Best Regards,
Sandhya
-------------
Commit messages:
- 8259278: Optimize Vector API slice and unslice operations
Changes: https://git.openjdk.java.net/jdk/pull/1950/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1950&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8259278
Stats: 1475 lines in 45 files changed: 563 ins; 285 del; 627 mod
Patch: https://git.openjdk.java.net/jdk/pull/1950.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1950/head:pull/1950
PR: https://git.openjdk.java.net/jdk/pull/1950
More information about the hotspot-dev
mailing list