On Fri, 30 May 2025 14:01:04 GMT, Roger Riggs <rri...@openjdk.org> wrote:
> Comment out assertions added in JDK-8351443 from > AbstractStringBuilder.ensureCapacityNewCoder that increase the codesize, > preventing some inlining, and reducing performance > > assert coder == newCoder || newCoder == UTF16 : "bad new coder UTF16 > -> LATIN1"; > assert count <= newCapacity : "count exceeds new capacity"; The performance figures under x64 show that the performance of StringBuilders.appendWithIntLatin1 scenario drops by about 6%, but the performance of StringBuilders.appendWithLongLatin1 does not drop. Someone from the optimizer team is needed to look at the assembly code generated under x64 # benfore git checkout 68a118509a562334eb8c099129d79520041b10cf make test TEST="micro:java.lang.StringBuilders.appendWithIntLatin1" # after git checkout 8fadf295b0ba720a5bc728c6b4d159e60447de97 make test TEST="micro:java.lang.StringBuilders.appendWithIntLatin1" ## Aliyun c8a (CPU AMD EPYC™ Genoa) -# before 68a118509a562334eb8c099129d79520041b10cf -Benchmark Mode Cnt Score Error Units -StringBuilders.appendWithIntLatin1 avgt 15 136.055 ± 0.146 ns/op +# after 8fadf295b0ba720a5bc728c6b4d159e60447de97 +Benchmark Mode Cnt Score Error Units +StringBuilders.appendWithIntLatin1 avgt 15 146.498 ± 0.983 ns/op ------------- PR Comment: https://git.openjdk.org/jdk/pull/25550#issuecomment-2932872603