RFR: 8357823: Changes in StringBuilder (JDK-8351443) caused a 1-3% regression in biojava [v2]

Roger Riggs rriggs at openjdk.org
Wed Jun 11 11:35:09 UTC 2025


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

Roger Riggs has updated the pull request incrementally with one additional commit since the last revision:

  Microbenchmark java.lang.StringBuilders is modified to not re-use existing StringBuilders
  in the appendWithXXX benchmarks.
  The StringBuilders sbLatin1 and sbUtf15 are created as re-only for specific test cases.
  Re-using and setting the length to zero, makes the test suseptable to variations
  depend on the order of execution of the the benchmarks because the buffers may or
  may not have to been re-sized based on the previous test cases.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/25550/files
  - new: https://git.openjdk.org/jdk/pull/25550/files/b51f52c9..e90e4010

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25550&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25550&range=00-01

  Stats: 17 lines in 1 file changed: 0 ins; 8 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/25550.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25550/head:pull/25550

PR: https://git.openjdk.org/jdk/pull/25550


More information about the core-libs-dev mailing list