54 }
55
56 @CompilerControl(CompilerControl.Mode.INLINE)
57 public boolean doEquals(String other) {
58 return this.str.equals(other);
59 }
60 }
61
62 private static final int SIZE = 42;
63 private static final int SMALL_IDX = 3;
64 private static final int BIG_IDX = 33;
65
66 private static final Object O1 = new Object();
67 private static final Object O2 = new Object();
68
69 private Object[] arr1 = new Object[SIZE];
70 private Object[] arr2 = new Object[SIZE];
71 private StoreNHelper[] arrH1 = new StoreNHelper[SIZE];
72 private StoreNHelper[] arrH2 = new StoreNHelper[SIZE];
73
74 private StringEqualsHelper strEqHelper = new StringEqualsHelper("foo");
75
76 @Benchmark
77 @Fork(jvmArgsAppend = {"-XX:+UseSerialGC"})
78 public void benchStoreNRemoveSpillSerial() {
79 this.arrH1[SMALL_IDX] = new StoreNHelper(O1, O2);
80 this.arrH2[BIG_IDX] = new StoreNHelper(O2, O1);
81 }
82
83 @Benchmark
84 @Fork(jvmArgsAppend = {"-XX:+UseParallelGC"})
85 public void benchStoreNRemoveSpillParallel() {
86 this.arrH1[SMALL_IDX] = new StoreNHelper(O1, O2);
87 this.arrH2[BIG_IDX] = new StoreNHelper(O2, O1);
88 }
89
90 @Benchmark
91 @Fork(jvmArgsAppend = {"-XX:+UseSerialGC"})
92 public void benchStoreNNoAllocSerial() {
93 this.arr1[SMALL_IDX] = O1;
|
54 }
55
56 @CompilerControl(CompilerControl.Mode.INLINE)
57 public boolean doEquals(String other) {
58 return this.str.equals(other);
59 }
60 }
61
62 private static final int SIZE = 42;
63 private static final int SMALL_IDX = 3;
64 private static final int BIG_IDX = 33;
65
66 private static final Object O1 = new Object();
67 private static final Object O2 = new Object();
68
69 private Object[] arr1 = new Object[SIZE];
70 private Object[] arr2 = new Object[SIZE];
71 private StoreNHelper[] arrH1 = new StoreNHelper[SIZE];
72 private StoreNHelper[] arrH2 = new StoreNHelper[SIZE];
73
74 @SuppressWarnings("initialization")
75 private StringEqualsHelper strEqHelper = new StringEqualsHelper("foo");
76
77 @Benchmark
78 @Fork(jvmArgsAppend = {"-XX:+UseSerialGC"})
79 public void benchStoreNRemoveSpillSerial() {
80 this.arrH1[SMALL_IDX] = new StoreNHelper(O1, O2);
81 this.arrH2[BIG_IDX] = new StoreNHelper(O2, O1);
82 }
83
84 @Benchmark
85 @Fork(jvmArgsAppend = {"-XX:+UseParallelGC"})
86 public void benchStoreNRemoveSpillParallel() {
87 this.arrH1[SMALL_IDX] = new StoreNHelper(O1, O2);
88 this.arrH2[BIG_IDX] = new StoreNHelper(O2, O1);
89 }
90
91 @Benchmark
92 @Fork(jvmArgsAppend = {"-XX:+UseSerialGC"})
93 public void benchStoreNNoAllocSerial() {
94 this.arr1[SMALL_IDX] = O1;
|