1 Object rearrangeShared(int window) {
2 $type$[] as = fa.apply(size);
3 int[] order = fs.apply(size);
4 $type$[] rs = fr.apply(size);
5
6 for (int i = 0; i < as.length; i += window) {
7 for (int j = 0; j < window; j++) {
8 $type$ a = as[i+j];
9 int pos = order[j];
10 rs[i + pos] = a;
11 }
12 }
13
14 return rs;
15 }
16
17 @Benchmark
18 public Object rearrange064() {
19 int window = 64 / $Wideboxtype$.SIZE;
20 return rearrangeShared(window);
21 }
22
23 @Benchmark
24 public Object rearrange128() {
25 int window = 128 / $Wideboxtype$.SIZE;
26 return rearrangeShared(window);
27 }
28
29 @Benchmark
30 public Object rearrange256() {
31 int window = 256 / $Wideboxtype$.SIZE;
32 return rearrangeShared(window);
33 }
34
35 @Benchmark
36 public Object rearrange512() {
37 int window = 512 / $Wideboxtype$.SIZE;
38 return rearrangeShared(window);
39 }
|
1 void rearrangeShared(int window, Blackhole bh) {
2 $type$[] as = fa.apply(size);
3 int[] order = fs.apply(size);
4 $type$[] rs = fr.apply(size);
5
6 for (int ic = 0; ic < INVOC_COUNT; ic++) {
7 for (int i = 0; i < as.length; i += window) {
8 for (int j = 0; j < window; j++) {
9 $type$ a = as[i+j];
10 int pos = order[j];
11 rs[i + pos] = a;
12 }
13 }
14 }
15
16 bh.consume(rs);
17 }
18
19 @Benchmark
20 public void rearrange064(Blackhole bh) {
21 int window = 64 / $Wideboxtype$.SIZE;
22 rearrangeShared(window, bh);
23 }
24
25 @Benchmark
26 public void rearrange128(Blackhole bh) {
27 int window = 128 / $Wideboxtype$.SIZE;
28 rearrangeShared(window, bh);
29 }
30
31 @Benchmark
32 public void rearrange256(Blackhole bh) {
33 int window = 256 / $Wideboxtype$.SIZE;
34 rearrangeShared(window, bh);
35 }
36
37 @Benchmark
38 public void rearrange512(Blackhole bh) {
39 int window = 512 / $Wideboxtype$.SIZE;
40 rearrangeShared(window, bh);
41 }
|