< prev index next >

test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Rearrange.template

Print this page
rev 55606 : 8221812: Fine-tune jmh test for vector api
Summary: To compare performance of vector api and auto vectorization, vector
api and scalar test cases are updated to keep aligned.
Reviewed-by: duke

*** 1,39 **** ! Object rearrangeShared(int window) { $type$[] as = fa.apply(size); int[] order = fs.apply(size); $type$[] rs = fr.apply(size); for (int i = 0; i < as.length; i += window) { for (int j = 0; j < window; j++) { $type$ a = as[i+j]; int pos = order[j]; rs[i + pos] = a; } } ! return rs; } @Benchmark ! public Object rearrange064() { int window = 64 / $Wideboxtype$.SIZE; ! return rearrangeShared(window); } @Benchmark ! public Object rearrange128() { int window = 128 / $Wideboxtype$.SIZE; ! return rearrangeShared(window); } @Benchmark ! public Object rearrange256() { int window = 256 / $Wideboxtype$.SIZE; ! return rearrangeShared(window); } @Benchmark ! public Object rearrange512() { int window = 512 / $Wideboxtype$.SIZE; ! return rearrangeShared(window); } --- 1,41 ---- ! void rearrangeShared(int window, Blackhole bh) { $type$[] as = fa.apply(size); int[] order = fs.apply(size); $type$[] rs = fr.apply(size); + for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < as.length; i += window) { for (int j = 0; j < window; j++) { $type$ a = as[i+j]; int pos = order[j]; rs[i + pos] = a; } } + } ! bh.consume(rs); } @Benchmark ! public void rearrange064(Blackhole bh) { int window = 64 / $Wideboxtype$.SIZE; ! rearrangeShared(window, bh); } @Benchmark ! public void rearrange128(Blackhole bh) { int window = 128 / $Wideboxtype$.SIZE; ! rearrangeShared(window, bh); } @Benchmark ! public void rearrange256(Blackhole bh) { int window = 256 / $Wideboxtype$.SIZE; ! rearrangeShared(window, bh); } @Benchmark ! public void rearrange512(Blackhole bh) { int window = 512 / $Wideboxtype$.SIZE; ! rearrangeShared(window, bh); }
< prev index next >