RFR: 8365017: The SegmentBulkOperations::copy method can be improved using overlaps [v9]
Per Minborg
pminborg at openjdk.org
Wed Aug 20 08:54:50 UTC 2025
On Wed, 20 Aug 2025 08:51:24 GMT, Per Minborg <pminborg at openjdk.org> wrote:
>> This PR proposes to use overlapping memory areas in `SegmentBulkOperations::copy`, similar to what is proposed for `SegmentBulkOperations::fill` in https://github.com/openjdk/jdk/pull/25383.
>>
>> This PR passes `tier1`, `tier2`, and `tier3`testing on multiple platforms.
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
>
> Do not use overlapping copy
I've removed overlapping copy, which impacts performance a bit:
Bytes | Base | Patch | Improvement
-- | -- | -- | --
2 | 3.184 | 2.97 | 6.72%
3 | 3.162 | 3.011 | 4.78%
4 | 3.344 | 3.117 | 6.79%
5 | 3.31 | 3.15 | 4.83%
6 | 3.328 | 3.382 | -1.62%
7 | 3.289 | 3.441 | -4.62%
8 | 4.139 | 3.147 | 23.97%
12 | 4.709 | 4.694 | 0.32%
16 | 4.173 | 3.792 | 9.13%
24 | 4.239 | 3.903 | 7.93%
64 | 4.86 | 4.736 | 2.55%
<img width="806" height="496" alt="image" src="https://github.com/user-attachments/assets/3aaa4cec-dfe5-4235-b9dd-33c017dd7970" />
The patch still gives significant performance improvements for likely copy sizes like 8 and 16 bytes.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26672#issuecomment-3204893330
More information about the core-libs-dev
mailing list