RFR: 8355177: Speed up StringBuilder::append(char[]) via Unsafe::copyMemory [v8]
Chen Liang
liach at openjdk.org
Tue Jul 22 04:06:26 UTC 2025
On Fri, 27 Jun 2025 01:04:32 GMT, Shaojin Wen <swen at openjdk.org> wrote:
>> In BufferedReader.readLine and other similar scenarios, we need to use StringBuilder.append(char[]) to build the string.
>>
>> For these scenarios, we can Unsafe.copyMemory instead of the character copy of the char-by-char loop to improve the speed.
>>
>> @RogerRiggs completed the optimization when the encoder is LATIN1 in PR #24967. This PR continues to complete the optimization when the encoder is UTF16.
>
> Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:
>
> Update src/java.base/share/classes/java/lang/StringUTF16.java
>
> Co-authored-by: Chen Liang <liach at openjdk.org>
I just noticed there is `LibraryCallKit::inline_string_getCharsU` that is for byte -> char conversion. I wonder if we can slightly update it for char -> byte conversion.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24773#issuecomment-3100796762
More information about the core-libs-dev
mailing list