RFR: 8371571: Consolidate and enhance bulk memory segment ops benchmarks [v5]

Per Minborg pminborg at openjdk.org
Tue Nov 25 12:26:32 UTC 2025


On Tue, 25 Nov 2025 12:22:29 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> This PR proposes to consolidate and standardize the benchmarks related to the bulk operations for memory segments. 
>> 
>> All the benchmarks will now run with (heap|native)x(aligned|unaligned)x(intint|intlong|longlong) combinations.
>> 
>> It should be noted that with this change, the running time for the benchmarks would increase significantly.
>
> 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:
> 
>  - Update after comments
>  - Merge branch 'master' into improved-bulk-benchmarks
>  - Add loop variant for mismatch
>  - Use other allocateFrom overload
>  - Remove lingering comment
>  - Refactor and use long arrays
>  - Remove BulkOps
>  - Fix copyright years
>  - Improve BulkOp benchmarks

Benchmark                            (size)  Mode  Cnt        Score       Error  Units
SegmentBulkCopy.Array.bufferCopy          2  avgt   30        3.028 ±     0.094  ns/op
SegmentBulkCopy.Array.bufferCopy          4  avgt   30        2.825 ±     0.047  ns/op
SegmentBulkCopy.Array.bufferCopy          8  avgt   30        2.694 ±     0.048  ns/op
SegmentBulkCopy.Array.bufferCopy         12  avgt   30        2.736 ±     0.019  ns/op
SegmentBulkCopy.Array.bufferCopy         16  avgt   30        2.705 ±     0.024  ns/op
SegmentBulkCopy.Array.bufferCopy         64  avgt   30        2.851 ±     0.017  ns/op
SegmentBulkCopy.Array.bufferCopy        512  avgt   30        7.329 ±     0.116  ns/op
SegmentBulkCopy.Array.bufferCopy       4096  avgt   30       51.591 ±     0.667  ns/op
SegmentBulkCopy.Array.bufferCopy      32768  avgt   30      626.952 ±    43.598  ns/op
SegmentBulkCopy.Array.bufferCopy     262144  avgt   30     3339.947 ±    16.218  ns/op
SegmentBulkCopy.Array.bufferCopy    2097152  avgt   30    26569.111 ±  1974.834  ns/op
SegmentBulkCopy.Array.bufferCopy   16777216  avgt   30   258056.303 ±  9005.471  ns/op
SegmentBulkCopy.Array.bufferCopy  134217728  avgt   30  2335005.220 ± 43871.900  ns/op

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

PR Comment: https://git.openjdk.org/jdk/pull/28260#issuecomment-3575400339


More information about the core-libs-dev mailing list