On Mon, 20 Jan 2025 14:32:22 GMT, Shaojin Wen <s...@openjdk.org> wrote:
>> This PR is a resubmission after PR #21593 was rolled back, and the unsafe >> offset overflow issue has been fixed. >> >> 1) Move getChars methods of StringLatin1 and StringUTF16 to DecimalDigits to >> reduce duplication. >> >> 2) HexDigits and OctalDigits also include getCharsLatin1 and getCharsUTF16 >> >> 3) Putting these two methods into DecimalDigits can avoid the need to expose >> them in JavaLangAccess >> Eliminate duplicate code in BigDecimal >> >> 4) This PR will improve the performance of Integer/Long.toString and >> StringBuilder.append(int/long) scenarios. This is because Unsafe.putByte is >> used to eliminate array bounds checks, and of course this elimination is >> safe. In previous versions, in Integer/Long.toString and >> StringBuilder.append(int/long) scenarios, -COMPACT_STRING performed better >> than +COMPACT_STRING. This is because StringUTF16.getChars uses >> StringUTF16.putChar, which is similar to Unsafe.putChar, and there is no >> bounds check. > > Shaojin Wen has updated the pull request with a new target base due to a > merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains 29 additional > commits since the last revision: > > - Merge remote-tracking branch 'upstream/master' into > int_get_chars_dedup_202411 > - fix comments > - use putCharUnaligned > - bug fix > - from rgiulietti > - Coding style consistency, from rgiulietti > - fix benchmark, from rgiulietti > - Coding style consistency, from rgiulietti > - fix comment > - fix comment, from @rgiulietti > - ... and 19 more: https://git.openjdk.org/jdk/compare/07276096...be1f88ab Yes, that's what I observe as well. Your M1 results are consistent with the one I published just a few minutes earlier, so that's good. Do you think it is worth reconsidering the UTF16 case, which is mostly slightly slower? If not, I will approve the PR. ------------- PR Comment: https://git.openjdk.org/jdk/pull/22023#issuecomment-2602823399