< prev index next >
test/micro/org/openjdk/bench/java/lang/StringSubstring.java
Print this page
rev 58157 : 8240094: Optimize empty substring handling
Reviewed-by: redestad, igerasim, jlaskey
Contributed-by: sergei.tsypanov@yandex.ru
*** 26,35 ****
--- 26,38 ----
import org.openjdk.jmh.annotations.*;
import java.util.concurrent.TimeUnit;
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
+ @Fork(value = 3)
+ @Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
+ @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@State(Scope.Benchmark)
public class StringSubstring {
public String s = new String("An arbitrary string that happened to be of length 52");
*** 40,45 ****
--- 43,56 ----
@Benchmark
public String from26toEnd1() {
return s.substring(26, s.length());
}
+
+ /**
+ * An empty substring should not allocate a new String
+ */
+ @Benchmark
+ public String empty() {
+ return s.substring(17, 17);
+ }
}
< prev index next >