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

Reply via email to