< 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 >