RFR: 8336856: Optimize String Concat [v5]

Shaojin Wen duke at openjdk.org
Tue Jul 23 12:22:57 UTC 2024


> The current implementation of StringConcat is to mix the coder and length into a long. This operation will have some overhead for int/long/boolean types. We can separate the calculation of the coder from the calculation of the length, which can improve the performance in the scenario of concat int/long/boolean.
> 
> This idea comes from the suggestion of @l4es in the discussion of PR https://github.com/openjdk/jdk/pull/20253#issuecomment-2240412866

Shaojin Wen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:

 - Merge remote-tracking branch 'origin/optim_simple_concat_202407' into optim_concat_factory_202407
   
   # Conflicts:
   #	src/java.base/share/classes/java/lang/StringConcatHelper.java
   #	src/java.base/share/classes/java/lang/System.java
   #	src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
 - reduce change & refactor
 - fix TRUSTED not work
 - non-MH-based implementation
 - non-MH-based implementation
 - optimize string concat

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

Changes: https://git.openjdk.org/jdk/pull/20273/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20273&range=04
  Stats: 923 lines in 6 files changed: 247 ins; 598 del; 78 mod
  Patch: https://git.openjdk.org/jdk/pull/20273.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20273/head:pull/20273

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


More information about the core-libs-dev mailing list