< 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 +1,41 @@
-    Object rearrangeShared(int window) {
+    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;
             }
         }
+        }
 
-        return rs;
+        bh.consume(rs);
     }
 
     @Benchmark
-    public Object rearrange064() {
+    public void rearrange064(Blackhole bh) {
         int window = 64 / $Wideboxtype$.SIZE;
-        return rearrangeShared(window);
+        rearrangeShared(window, bh);
     }
 
     @Benchmark
-    public Object rearrange128() {
+    public void rearrange128(Blackhole bh) {
         int window = 128 / $Wideboxtype$.SIZE;
-        return rearrangeShared(window);
+        rearrangeShared(window, bh);
     }
 
     @Benchmark
-    public Object rearrange256() {
+    public void rearrange256(Blackhole bh) {
         int window = 256 / $Wideboxtype$.SIZE;
-        return rearrangeShared(window);
+        rearrangeShared(window, bh);
     }
 
     @Benchmark
-    public Object rearrange512() {
+    public void rearrange512(Blackhole bh) {
         int window = 512 / $Wideboxtype$.SIZE;
-        return rearrangeShared(window);
+        rearrangeShared(window, bh);
     }
< prev index next >