< prev index next >
test/micro/org/openjdk/bench/java/lang/StringConcat.java
Print this page
rev 54622 : 8222852: Reduce String concat combinator tree shapes by folding constants into prependers
Reviewed-by: shade, plevart
Contributed-by: claes.redestad@oracle.com, peter.levart@gmail.com
*** 76,90 ****
--- 76,105 ----
public String concatConstStringConstInt() {
return "string" + stringValue + "string" + intValue;
}
@Benchmark
+ public String concatMix4String() {
+ // Investigate "profile pollution" between shared LFs that might eliminate some JIT optimizations
+ String s1 = "string" + stringValue + stringValue + stringValue + stringValue;
+ String s2 = "string" + stringValue + "string" + stringValue + stringValue + stringValue;
+ String s3 = stringValue + stringValue + "string" + stringValue + "string" + stringValue + "string";
+ String s4 = "string" + stringValue + "string" + stringValue + "string" + stringValue + "string" + stringValue + "string";
+ return s1 + s2 + s3 + s4;
+ }
+
+ @Benchmark
public String concatConst4String() {
return "string" + stringValue + stringValue + stringValue + stringValue;
}
@Benchmark
+ public String concat4String() {
+ return stringValue + stringValue + stringValue + stringValue;
+ }
+
+ @Benchmark
public String concatConst2String() {
return "string" + stringValue + stringValue;
}
@Benchmark
*** 96,105 ****
--- 111,125 ----
public String concatConst6String() {
return "string" + stringValue + stringValue + stringValue + stringValue + stringValue + stringValue;
}
@Benchmark
+ public String concat6String() {
+ return stringValue + stringValue + stringValue + stringValue + stringValue + stringValue;
+ }
+
+ @Benchmark
public String concatConst6Object() {
return "string" + objectValue + objectValue + objectValue + objectValue + objectValue + objectValue;
}
}
< prev index next >