On Thu, 7 Aug 2025 10:05:42 GMT, Per Minborg <pminb...@openjdk.org> wrote:
> This PR proposes to use overlapping memory areas in > `SegmentBulkOperations::copy`similar ', similar to what is proposed for > `SegmentBulkOperations::fill` in https://github.com/openjdk/jdk/pull/25383. Copy-overlap Base Benchmark (ELEM_SIZE) Mode Cnt Score Error Units SegmentBulkCopy.nativeSegmentCopyJava 2 avgt 30 3.184 ± 0.060 ns/op SegmentBulkCopy.nativeSegmentCopyJava 3 avgt 30 3.162 ± 0.046 ns/op SegmentBulkCopy.nativeSegmentCopyJava 4 avgt 30 3.344 ± 0.072 ns/op SegmentBulkCopy.nativeSegmentCopyJava 5 avgt 30 3.310 ± 0.055 ns/op SegmentBulkCopy.nativeSegmentCopyJava 6 avgt 30 3.328 ± 0.076 ns/op SegmentBulkCopy.nativeSegmentCopyJava 7 avgt 30 3.289 ± 0.086 ns/op SegmentBulkCopy.nativeSegmentCopyJava 8 avgt 30 4.139 ± 0.067 ns/op SegmentBulkCopy.nativeSegmentCopyJava 12 avgt 30 4.709 ± 0.095 ns/op SegmentBulkCopy.nativeSegmentCopyJava 16 avgt 30 4.173 ± 0.086 ns/op SegmentBulkCopy.nativeSegmentCopyJava 24 avgt 30 4.239 ± 0.046 ns/op SegmentBulkCopy.nativeSegmentCopyJava 64 avgt 30 4.860 ± 0.091 ns/op SegmentBulkCopy.nativeSegmentCopyJava 512 avgt 30 14.844 ± 0.326 ns/op SegmentBulkCopy.nativeSegmentCopyJava 4096 avgt 30 90.611 ± 1.788 ns/op SegmentBulkCopy.nativeSegmentCopyJava 32768 avgt 30 711.792 ± 13.991 ns/op SegmentBulkCopy.nativeSegmentCopyJava 262144 avgt 30 7605.349 ± 101.069 ns/op SegmentBulkCopy.nativeSegmentCopyJava 2097152 avgt 30 63458.190 ± 1754.102 ns/op SegmentBulkCopy.nativeSegmentCopyJava 16777216 avgt 30 552339.850 ± 20632.233 ns/op SegmentBulkCopy.nativeSegmentCopyJava 134217728 avgt 30 4780611.167 ± 195940.736 ns/op Patch Benchmark (ELEM_SIZE) Mode Cnt Score Error Units SegmentBulkCopy.nativeSegmentCopyJava 2 avgt 30 2.826 ± 0.018 ns/op SegmentBulkCopy.nativeSegmentCopyJava 3 avgt 30 2.821 ± 0.015 ns/op SegmentBulkCopy.nativeSegmentCopyJava 4 avgt 30 2.807 ± 0.010 ns/op SegmentBulkCopy.nativeSegmentCopyJava 5 avgt 30 2.805 ± 0.008 ns/op SegmentBulkCopy.nativeSegmentCopyJava 6 avgt 30 2.814 ± 0.020 ns/op SegmentBulkCopy.nativeSegmentCopyJava 7 avgt 30 2.805 ± 0.007 ns/op SegmentBulkCopy.nativeSegmentCopyJava 8 avgt 30 2.805 ± 0.006 ns/op SegmentBulkCopy.nativeSegmentCopyJava 12 avgt 30 2.813 ± 0.023 ns/op SegmentBulkCopy.nativeSegmentCopyJava 16 avgt 30 4.236 ± 0.039 ns/op SegmentBulkCopy.nativeSegmentCopyJava 24 avgt 30 4.386 ± 0.038 ns/op SegmentBulkCopy.nativeSegmentCopyJava 64 avgt 30 4.986 ± 0.018 ns/op SegmentBulkCopy.nativeSegmentCopyJava 512 avgt 30 15.204 ± 0.200 ns/op SegmentBulkCopy.nativeSegmentCopyJava 4096 avgt 30 91.607 ± 1.559 ns/op SegmentBulkCopy.nativeSegmentCopyJava 32768 avgt 30 696.212 ± 2.265 ns/op SegmentBulkCopy.nativeSegmentCopyJava 262144 avgt 30 7619.412 ± 60.848 ns/op SegmentBulkCopy.nativeSegmentCopyJava 2097152 avgt 30 62158.186 ± 190.673 ns/op SegmentBulkCopy.nativeSegmentCopyJava 16777216 avgt 30 544631.293 ± 5023.824 ns/op SegmentBulkCopy.nativeSegmentCopyJava 134217728 avgt 30 4524477.559 ± 71723.200 ns/op ------------- PR Comment: https://git.openjdk.org/jdk/pull/26672#issuecomment-3163484185