RFR: 8284637: Improve String.join performance

Roger Riggs rriggs at openjdk.java.net
Mon Apr 11 19:31:46 UTC 2022


On Fri, 8 Apr 2022 19:33:26 GMT, XenoAmess <duke at openjdk.java.net> wrote:

> 8284637: Improve String.join performance

src/java.base/share/classes/java/lang/String.java line 3290:

> 3288:                         value,
> 3289:                         off << coder,
> 3290:                         delimiterLengthWithCoder

Is there any benefit to special casing short delimiters?  1..4 bytes?
Arraycopy has a fixed overhead regardless of the delimiter length.
I might expect a big payoff for coder = Latin1 and delimiter length == 1..2  compared to arraycopy.

src/java.base/share/classes/java/lang/String.java line 3290:

> 3288:                         value,
> 3289:                         off << coder,
> 3290:                         delimiterLengthWithCoder

Is there any benefit to special casing short delimiters?  1..4 bytes?
Arraycopy has a fixed overhead regardless of the delimiter length.
I might expect a big payoff for coder = Latin1 and delimiter length == 1..2  compared to arraycopy.

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

PR: https://git.openjdk.java.net/jdk/pull/8169


More information about the core-libs-dev mailing list