RFR: 8273100: Improve AbstractStringBuilder.append(String) when using CompactStrings [v3]
Claes Redestad
redestad at openjdk.java.net
Mon Aug 30 12:01:29 UTC 2021
On Mon, 30 Aug 2021 11:49:49 GMT, Claes Redestad <redestad at openjdk.org> wrote:
>> Refactor to improve inlining, which helps some microbenchmarks exer StringBuilder.append(String)
>
> Claes Redestad has updated the pull request incrementally with one additional commit since the last revision:
>
> Simplify and call getBytes(String, int, byte) when possible
Simplified further after realizing `putStringAt(int, String)` can use `String.getBytes(String, int, byte)`, improving performance for both modes:
# +CompactStrings
Benchmark Mode Cnt Score Error Units
StringBuilders.appendLoop16 avgt 15 681.778 ± 14.978 ns/op
StringBuilders.appendLoop8 avgt 15 358.008 ± 9.230 ns/op
# -CompactStrings
Benchmark Mode Cnt Score Error Units
StringBuilders.appendLoop16 avgt 15 664.591 ± 10.505 ns/op
StringBuilders.appendLoop8 avgt 15 351.175 ± 13.282 ns/op
-------------
PR: https://git.openjdk.java.net/jdk/pull/5291
More information about the core-libs-dev
mailing list