On Wed, 12 Nov 2025 09:08:10 GMT, Per Minborg <[email protected]> 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.

Here are some examples of benchmark output:


Benchmark                                 (alignment)  (segmentType)  (size)  
Mode  Cnt  Score   Error  Units
SegmentBulkHash.Array.array                       N/A            N/A       2  
avgt   30  2.681 ± 0.137  ns/op
SegmentBulkHash.Segment.hash                  ALIGNED           HEAP       2  
avgt   30  3.531 ± 0.343  ns/op
SegmentBulkHash.Segment.hash                  ALIGNED         NATIVE       2  
avgt   30  5.070 ± 0.963  ns/op
SegmentBulkHash.Segment.hash                UNALIGNED           HEAP       2  
avgt   30  3.498 ± 0.238  ns/op
SegmentBulkHash.Segment.hash                UNALIGNED         NATIVE       2  
avgt   30  4.158 ± 0.154  ns/op
SegmentBulkHash.Segment.hashLoopIntInt        ALIGNED           HEAP       2  
avgt   30  4.470 ± 0.215  ns/op
SegmentBulkHash.Segment.hashLoopIntInt        ALIGNED         NATIVE       2  
avgt   30  3.906 ± 0.233  ns/op
SegmentBulkHash.Segment.hashLoopIntInt      UNALIGNED           HEAP       2  
avgt   30  4.531 ± 0.246  ns/op
SegmentBulkHash.Segment.hashLoopIntInt      UNALIGNED         NATIVE       2  
avgt   30  3.619 ± 0.095  ns/op
SegmentBulkHash.Segment.hashLoopIntLong       ALIGNED           HEAP       2  
avgt   30  4.226 ± 0.266  ns/op
SegmentBulkHash.Segment.hashLoopIntLong       ALIGNED         NATIVE       2  
avgt   30  3.223 ± 0.351  ns/op
SegmentBulkHash.Segment.hashLoopIntLong     UNALIGNED           HEAP       2  
avgt   30  4.125 ± 0.293  ns/op
SegmentBulkHash.Segment.hashLoopIntLong     UNALIGNED         NATIVE       2  
avgt   30  3.329 ± 0.221  ns/op
SegmentBulkHash.Segment.hashLoopLongLong      ALIGNED           HEAP       2  
avgt   30  3.603 ± 0.285  ns/op
SegmentBulkHash.Segment.hashLoopLongLong      ALIGNED         NATIVE       2  
avgt   30  3.048 ± 0.172  ns/op
SegmentBulkHash.Segment.hashLoopLongLong    UNALIGNED           HEAP       2  
avgt   30  3.666 ± 0.180  ns/op
SegmentBulkHash.Segment.hashLoopLongLong    UNALIGNED         NATIVE       2  
avgt   30  3.237 ± 0.257  ns/op



Benchmark                                 (alignment)  (segmentType)  (size)  
Mode  Cnt  Score   Error  Units
SegmentBulkCopy.Array.arrayCopy                   N/A            N/A       2  
avgt   30  5.654 ± 0.363  ns/op
SegmentBulkCopy.Array.arrayCopy                   N/A            N/A       3  
avgt   30  4.704 ± 0.337  ns/op
SegmentBulkCopy.Array.bufferCopy                  N/A            N/A       2  
avgt   30  6.964 ± 0.711  ns/op
SegmentBulkCopy.Array.bufferCopy                  N/A            N/A       3  
avgt   30  7.033 ± 0.486  ns/op
SegmentBulkCopy.Segment.copy                  ALIGNED           HEAP       2  
avgt   30  6.333 ± 0.513  ns/op
SegmentBulkCopy.Segment.copy                  ALIGNED           HEAP       3  
avgt   30  6.181 ± 0.632  ns/op
SegmentBulkCopy.Segment.copy                  ALIGNED         NATIVE       2  
avgt   30  4.552 ± 0.312  ns/op
SegmentBulkCopy.Segment.copy                  ALIGNED         NATIVE       3  
avgt   30  4.680 ± 0.362  ns/op
SegmentBulkCopy.Segment.copy                UNALIGNED           HEAP       2  
avgt   30  6.574 ± 0.568  ns/op
SegmentBulkCopy.Segment.copy                UNALIGNED           HEAP       3  
avgt   30  6.516 ± 0.431  ns/op
SegmentBulkCopy.Segment.copy                UNALIGNED         NATIVE       2  
avgt   30  4.503 ± 0.245  ns/op
SegmentBulkCopy.Segment.copy                UNALIGNED         NATIVE       3  
avgt   30  4.584 ± 0.254  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt        ALIGNED           HEAP       2  
avgt   30  5.492 ± 0.242  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt        ALIGNED           HEAP       3  
avgt   30  7.173 ± 0.414  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt        ALIGNED         NATIVE       2  
avgt   30  4.743 ± 0.173  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt        ALIGNED         NATIVE       3  
avgt   30  5.651 ± 0.144  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt      UNALIGNED           HEAP       2  
avgt   30  5.658 ± 0.281  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt      UNALIGNED           HEAP       3  
avgt   30  6.853 ± 0.388  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt      UNALIGNED         NATIVE       2  
avgt   30  4.807 ± 0.220  ns/op
SegmentBulkCopy.Segment.copyLoopIntInt      UNALIGNED         NATIVE       3  
avgt   30  5.765 ± 0.261  ns/op
SegmentBulkCopy.Segment.copyUnsafe            ALIGNED           HEAP       2  
avgt   30  9.287 ± 0.410  ns/op
SegmentBulkCopy.Segment.copyUnsafe            ALIGNED           HEAP       3  
avgt   30  9.258 ± 0.440  ns/op
SegmentBulkCopy.Segment.copyUnsafe            ALIGNED         NATIVE       2  
avgt   30  8.188 ± 0.384  ns/op
SegmentBulkCopy.Segment.copyUnsafe            ALIGNED         NATIVE       3  
avgt   30  7.348 ± 0.321  ns/op
SegmentBulkCopy.Segment.copyUnsafe          UNALIGNED           HEAP       2  
avgt   30  8.741 ± 0.363  ns/op
SegmentBulkCopy.Segment.copyUnsafe          UNALIGNED           HEAP       3  
avgt   30  8.788 ± 0.287  ns/op
SegmentBulkCopy.Segment.copyUnsafe          UNALIGNED         NATIVE       2  
avgt   30  7.534 ± 0.241  ns/op
SegmentBulkCopy.Segment.copyUnsafe          UNALIGNED         NATIVE       3  
avgt   30  7.238 ± 0.271  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong       ALIGNED           HEAP       2  
avgt   30  5.412 ± 0.182  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong       ALIGNED           HEAP       3  
avgt   30  6.545 ± 0.352  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong       ALIGNED         NATIVE       2  
avgt   30  5.402 ± 0.882  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong       ALIGNED         NATIVE       3  
avgt   30  5.396 ± 0.259  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong     UNALIGNED           HEAP       2  
avgt   30  5.495 ± 0.268  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong     UNALIGNED           HEAP       3  
avgt   30  6.354 ± 0.350  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong     UNALIGNED         NATIVE       2  
avgt   30  4.439 ± 0.206  ns/op
SegmentBulkCopy.Segment.copyLoopIntLong     UNALIGNED         NATIVE       3  
avgt   30  5.586 ± 0.289  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong      ALIGNED           HEAP       2  
avgt   30  5.109 ± 0.213  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong      ALIGNED           HEAP       3  
avgt   30  7.341 ± 0.364  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong      ALIGNED         NATIVE       2  
avgt   30  4.486 ± 0.235  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong      ALIGNED         NATIVE       3  
avgt   30  6.911 ± 0.289  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong    UNALIGNED           HEAP       2  
avgt   30  5.302 ± 0.138  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong    UNALIGNED           HEAP       3  
avgt   30  7.409 ± 0.431  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong    UNALIGNED         NATIVE       2  
avgt   30  4.524 ± 0.184  ns/op
SegmentBulkCopy.Segment.copyLoopLongLong    UNALIGNED         NATIVE       3  
avgt   30  6.463 ± 0.262  ns/op



Benchmark                                 (alignment)  (segmentType)  (size)  
Mode  Cnt  Score   Error  Units
SegmentBulkFill.Array.arraysFill                  N/A            N/A       2  
avgt   30  2.138 ± 0.086  ns/op
SegmentBulkFill.Array.arraysFill                  N/A            N/A       3  
avgt   30  2.124 ± 0.056  ns/op
SegmentBulkFill.Array.arraysFillLoop              N/A            N/A       2  
avgt   30  1.715 ± 0.092  ns/op
SegmentBulkFill.Array.arraysFillLoop              N/A            N/A       3  
avgt   30  2.124 ± 0.052  ns/op
SegmentBulkFill.Array.bufferFillLoop              N/A            N/A       2  
avgt   30  3.293 ± 0.077  ns/op
SegmentBulkFill.Array.bufferFillLoop              N/A            N/A       3  
avgt   30  3.321 ± 0.090  ns/op
SegmentBulkFill.Segment.fill                  ALIGNED           HEAP       2  
avgt   30  2.368 ± 0.073  ns/op
SegmentBulkFill.Segment.fill                  ALIGNED           HEAP       3  
avgt   30  2.429 ± 0.060  ns/op
SegmentBulkFill.Segment.fill                  ALIGNED         NATIVE       2  
avgt   30  1.974 ± 0.070  ns/op
SegmentBulkFill.Segment.fill                  ALIGNED         NATIVE       3  
avgt   30  1.990 ± 0.047  ns/op
SegmentBulkFill.Segment.fill                UNALIGNED           HEAP       2  
avgt   30  2.641 ± 0.270  ns/op
SegmentBulkFill.Segment.fill                UNALIGNED           HEAP       3  
avgt   30  2.666 ± 0.077  ns/op
SegmentBulkFill.Segment.fill                UNALIGNED         NATIVE       2  
avgt   30  2.157 ± 0.065  ns/op
SegmentBulkFill.Segment.fill                UNALIGNED         NATIVE       3  
avgt   30  2.084 ± 0.026  ns/op
SegmentBulkFill.Segment.fillLoopIntInt        ALIGNED           HEAP       2  
avgt   30  3.409 ± 0.069  ns/op
SegmentBulkFill.Segment.fillLoopIntInt        ALIGNED           HEAP       3  
avgt   30  4.141 ± 0.114  ns/op
SegmentBulkFill.Segment.fillLoopIntInt        ALIGNED         NATIVE       2  
avgt   30  2.990 ± 0.088  ns/op
SegmentBulkFill.Segment.fillLoopIntInt        ALIGNED         NATIVE       3  
avgt   30  3.382 ± 0.059  ns/op
SegmentBulkFill.Segment.fillLoopIntInt      UNALIGNED           HEAP       2  
avgt   30  3.288 ± 0.061  ns/op
SegmentBulkFill.Segment.fillLoopIntInt      UNALIGNED           HEAP       3  
avgt   30  4.322 ± 0.228  ns/op
SegmentBulkFill.Segment.fillLoopIntInt      UNALIGNED         NATIVE       2  
avgt   30  3.451 ± 0.085  ns/op
SegmentBulkFill.Segment.fillLoopIntInt      UNALIGNED         NATIVE       3  
avgt   30  3.998 ± 0.133  ns/op
SegmentBulkFill.Segment.fillLoopIntLong       ALIGNED           HEAP       2  
avgt   30  3.512 ± 0.092  ns/op
SegmentBulkFill.Segment.fillLoopIntLong       ALIGNED           HEAP       3  
avgt   30  4.239 ± 0.136  ns/op
SegmentBulkFill.Segment.fillLoopIntLong       ALIGNED         NATIVE       2  
avgt   30  3.253 ± 0.133  ns/op
SegmentBulkFill.Segment.fillLoopIntLong       ALIGNED         NATIVE       3  
avgt   30  3.578 ± 0.158  ns/op
SegmentBulkFill.Segment.fillLoopIntLong     UNALIGNED           HEAP       2  
avgt   30  3.082 ± 0.089  ns/op
SegmentBulkFill.Segment.fillLoopIntLong     UNALIGNED           HEAP       3  
avgt   30  3.669 ± 0.086  ns/op
SegmentBulkFill.Segment.fillLoopIntLong     UNALIGNED         NATIVE       2  
avgt   30  2.875 ± 0.091  ns/op
SegmentBulkFill.Segment.fillLoopIntLong     UNALIGNED         NATIVE       3  
avgt   30  3.443 ± 0.075  ns/op
SegmentBulkFill.Segment.fillLoopLongLong      ALIGNED           HEAP       2  
avgt   30  2.717 ± 0.062  ns/op
SegmentBulkFill.Segment.fillLoopLongLong      ALIGNED           HEAP       3  
avgt   30  4.013 ± 0.105  ns/op
SegmentBulkFill.Segment.fillLoopLongLong      ALIGNED         NATIVE       2  
avgt   30  2.353 ± 0.049  ns/op
SegmentBulkFill.Segment.fillLoopLongLong      ALIGNED         NATIVE       3  
avgt   30  3.718 ± 0.098  ns/op
SegmentBulkFill.Segment.fillLoopLongLong    UNALIGNED           HEAP       2  
avgt   30  2.769 ± 0.098  ns/op
SegmentBulkFill.Segment.fillLoopLongLong    UNALIGNED           HEAP       3  
avgt   30  4.097 ± 0.131  ns/op
SegmentBulkFill.Segment.fillLoopLongLong    UNALIGNED         NATIVE       2  
avgt   30  2.388 ± 0.068  ns/op
SegmentBulkFill.Segment.fillLoopLongLong    UNALIGNED         NATIVE       3  
avgt   30  3.688 ± 0.069  ns/op
SegmentBulkFill.Segment.fillUnsafe            ALIGNED           HEAP       2  
avgt   30  4.740 ± 0.118  ns/op
SegmentBulkFill.Segment.fillUnsafe            ALIGNED           HEAP       3  
avgt   30  6.462 ± 0.292  ns/op
SegmentBulkFill.Segment.fillUnsafe            ALIGNED         NATIVE       2  
avgt   30  4.376 ± 0.139  ns/op
SegmentBulkFill.Segment.fillUnsafe            ALIGNED         NATIVE       3  
avgt   30  5.864 ± 0.342  ns/op
SegmentBulkFill.Segment.fillUnsafe          UNALIGNED           HEAP       2  
avgt   30  6.642 ± 0.584  ns/op
SegmentBulkFill.Segment.fillUnsafe          UNALIGNED           HEAP       3  
avgt   30  7.080 ± 0.337  ns/op
SegmentBulkFill.Segment.fillUnsafe          UNALIGNED         NATIVE       2  
avgt   30  6.519 ± 0.330  ns/op
SegmentBulkFill.Segment.fillUnsafe          UNALIGNED         NATIVE       3  
avgt   30  6.392 ± 0.229  ns/op

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

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

Reply via email to