-
Bug
-
Resolution: Unresolved
-
P4
-
26
Originally reported by [~liach].
Attached Benchmark.java demonstrates that String.charAt is significantly slower than StringBuilder.charAt for the same String:
java -XX:CompileCommand=dontinline,Benchmark::test* Benchmark.java
CompileCommand: dontinline Benchmark.test* bool dontinline = true
testString() took 1363 ms
testStringBuilder() took 671 ms
Even with -XX:-UseSuperWord -XX:LoopUnrollLimit=0 -XX:-UseLoopPredicate -XX:-RangeCheckElimination the difference is significant.
Attached Benchmark.java demonstrates that String.charAt is significantly slower than StringBuilder.charAt for the same String:
java -XX:CompileCommand=dontinline,Benchmark::test* Benchmark.java
CompileCommand: dontinline Benchmark.test* bool dontinline = true
testString() took 1363 ms
testStringBuilder() took 671 ms
Even with -XX:-UseSuperWord -XX:LoopUnrollLimit=0 -XX:-UseLoopPredicate -XX:-RangeCheckElimination the difference is significant.