> JDK-8282429 accidentally removed an optimization (JDK-8240094) that ensured > StringBuilder/StringBuffer::toString returns `""` when the builders are empty. > > > Name Cnt Base Error Test Error Unit > Change > StringBuffers.emptyToString 5 12,289 ± 0,384 9,883 ± 0,721 ns/op > 1,24x (p = 0,000*) > :gc.alloc.rate 1862,398 ± 57,647 0,007 ± 0,000 MB/sec > 0,00x (p = 0,000*) > :gc.alloc.rate.norm 24,000 ± 0,000 0,000 ± 0,000 B/op > 0,00x (p = 0,000*) > :gc.count 31,000 0,000 counts > :gc.time 21,000 ms > StringBuilders.emptyToString 5 4,146 ± 0,567 0,646 ± 0,003 ns/op > 6,42x (p = 0,000*) > :gc.alloc.rate 9208,656 ± 1234,399 0,007 ± 0,000 MB/sec > 0,00x (p = 0,000*) > :gc.alloc.rate.norm 40,000 ± 0,000 0,000 ± 0,000 B/op > 0,00x (p = 0,000*) > :gc.count 96,000 0,000 counts > :gc.time 64,000 ms > * = significant
Claes Redestad has updated the pull request incrementally with two additional commits since the last revision: - Revert StringBuffers removals - Update from review comments by @shipilev ------------- Changes: - all: https://git.openjdk.org/jdk/pull/17931/files - new: https://git.openjdk.org/jdk/pull/17931/files/7f9566b8..40cca3e3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=17931&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17931&range=00-01 Stats: 41 lines in 2 files changed: 38 ins; 0 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/17931.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/17931/head:pull/17931 PR: https://git.openjdk.org/jdk/pull/17931