RFR: 8345465: Fix performance regression on x64 after JDK-8345120 [v4]
Maurizio Cimadamore
mcimadamore at openjdk.org
Tue Dec 10 09:50:41 UTC 2024
On Tue, 10 Dec 2024 07:30:19 GMT, Per Minborg <pminborg at openjdk.org> wrote:
>> This PR proposes to fix a performance regression (on x64 platforms) for 32-bit strings introduced by [JDK-8345120](https://bugs.openjdk.org/browse/JDK-8345120).
>>
>> The PR also fixes a performance regression in the benchmarks caused by using the wrong type for `MemorySegment`.
>>
>> Regrettably, this PR uses different code paths for various architectures. This gives optimum performance for all platforms at the expense of slightly more code complexity. More specifically, the PR gives a ~15% performance improvement on x64 platforms for longer 32-bit strings.
>>
>> Passes tier1-tier3.
>
> Per Minborg 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 nine additional commits since the last revision:
>
> - Simplify code
> - Merge branch 'master' into strlen-bench-update
> - Improve short string cases
> - Update comment
> - Merge branch 'master' into strlen-bench-update
> - Fix regression on x64
> - Go back to use MemorySegment types
> - Merge branch 'master' into strlen-bench-update
> - Use aliases for legacy code.
Marked as reviewed by mcimadamore (Reviewer).
-------------
PR Review: https://git.openjdk.org/jdk/pull/22539#pullrequestreview-2491706260
More information about the core-libs-dev
mailing list