On Sun, 16 Jun 2024 07:17:16 GMT, Shaojin Wen <d...@openjdk.org> wrote:

> [8318446](https://github.com/openjdk/jdk/pull/16245)  brings MergeStore. We 
> need a JMH Benchmark to evaluate the performance of various batch operations 
> and the effect of MergeStore.

# 1. Cases MergeStore does not work

>From the results of running the test, the following method MergeStore does not 
>work


getIntB    
getIntBU   
getIntL    
getIntLU   
getIntRB   
getIntRBU  
getIntRL   
getIntRLU  
getLongB   
getLongBU  
getLongL   
getLongLU  
getLongRB  
getLongRBU 
getLongRL  
getLongRLU 
putChars4UC
setIntB    
setIntBU 
setIntRB    
setIntRBU   
setLongB
setLongBU  
setLongRB  
setLongRBU 


@eme64 Please help me find out what the reason is and whether it can be 
improved.

# 2. Performance numbers

The names of these cases have the following `B/L/V/U` suffixes, which are:

B BigEndian
L LittleEndian
V VarHandle
U Unsafe
R reverseBytes


## 2.1 MacBook M1 Pro (aarch64)

Benchmark                    Mode  Cnt      Score    Error  Units
MergeStoreBench.getIntB      avgt   15   6286.579 ? 20.457  ns/op
MergeStoreBench.getIntBU     avgt   15   5225.216 ?  8.330  ns/op
MergeStoreBench.getIntBV     avgt   15   1210.682 ?  9.729  ns/op
MergeStoreBench.getIntL      avgt   15   6164.693 ? 10.310  ns/op
MergeStoreBench.getIntLU     avgt   15   5143.012 ? 14.522  ns/op
MergeStoreBench.getIntLV     avgt   15   2559.030 ?  3.875  ns/op
MergeStoreBench.getIntRB     avgt   15   6878.932 ? 33.494  ns/op
MergeStoreBench.getIntRBU    avgt   15   5767.165 ?  5.969  ns/op
MergeStoreBench.getIntRL     avgt   15   6627.529 ? 16.028  ns/op
MergeStoreBench.getIntRLU    avgt   15   5751.723 ? 23.192  ns/op
MergeStoreBench.getIntRU     avgt   15   2545.811 ?  3.665  ns/op
MergeStoreBench.getIntU      avgt   15   2540.611 ?  1.315  ns/op
MergeStoreBench.getLongB     avgt   15  12089.536 ? 14.140  ns/op
MergeStoreBench.getLongBU    avgt   15   9781.314 ? 71.234  ns/op
MergeStoreBench.getLongBV    avgt   15   2592.388 ?  4.432  ns/op
MergeStoreBench.getLongL     avgt   15  12024.902 ? 12.263  ns/op
MergeStoreBench.getLongLU    avgt   15   9678.164 ? 66.240  ns/op
MergeStoreBench.getLongLV    avgt   15   2558.131 ?  4.451  ns/op
MergeStoreBench.getLongRB    avgt   15  12085.246 ? 13.510  ns/op
MergeStoreBench.getLongRBU   avgt   15   9764.272 ? 12.714  ns/op
MergeStoreBench.getLongRL    avgt   15  12030.738 ? 22.437  ns/op
MergeStoreBench.getLongRLU   avgt   15   9653.951 ? 29.618  ns/op
MergeStoreBench.getLongRU    avgt   15   2546.557 ?  2.935  ns/op
MergeStoreBench.getLongU     avgt   15   2540.195 ?  2.042  ns/op
MergeStoreBench.putChars4    avgt   15   8489.149 ? 12.100  ns/op
MergeStoreBench.putChars4UB  avgt   15   3829.348 ?  7.844  ns/op
MergeStoreBench.putChars4UC  avgt   15   4483.231 ?  2.922  ns/op
MergeStoreBench.setIntB      avgt   15   5098.299 ?  5.857  ns/op
MergeStoreBench.setIntBU     avgt   15   5100.068 ?  7.315  ns/op
MergeStoreBench.setIntBV     avgt   15   1225.125 ?  1.650  ns/op
MergeStoreBench.setIntL      avgt   15   2765.106 ?  4.291  ns/op
MergeStoreBench.setIntLU     avgt   15   2574.478 ?  6.680  ns/op
MergeStoreBench.setIntLV     avgt   15   5106.786 ?  1.659  ns/op
MergeStoreBench.setIntRB     avgt   15   5372.028 ? 38.223  ns/op
MergeStoreBench.setIntRBU    avgt   15   5413.775 ? 10.059  ns/op
MergeStoreBench.setIntRL     avgt   15   5289.971 ?  4.359  ns/op
MergeStoreBench.setIntRLU    avgt   15   5125.193 ?  1.667  ns/op
MergeStoreBench.setIntRU     avgt   15   5102.132 ? 10.858  ns/op
MergeStoreBench.setIntU      avgt   15   5104.280 ? 53.560  ns/op
MergeStoreBench.setLongB     avgt   15  10249.911 ? 12.840  ns/op
MergeStoreBench.setLongBU    avgt   15  10231.282 ?  6.696  ns/op
MergeStoreBench.setLongBV    avgt   15   2665.162 ?  5.059  ns/op
MergeStoreBench.setLongL     avgt   15   6306.266 ?  7.843  ns/op
MergeStoreBench.setLongLU    avgt   15   2878.446 ? 62.543  ns/op
MergeStoreBench.setLongLV    avgt   15   2663.849 ?  1.446  ns/op
MergeStoreBench.setLongRB    avgt   15  10250.651 ? 16.368  ns/op
MergeStoreBench.setLongRBU   avgt   15  10237.918 ? 14.213  ns/op
MergeStoreBench.setLongRL    avgt   15   6645.274 ?  9.166  ns/op
MergeStoreBench.setLongRLU   avgt   15   3227.096 ?  2.098  ns/op
MergeStoreBench.setLongRU    avgt   15   2609.076 ?  3.404  ns/op
MergeStoreBench.setLongU     avgt   15   2593.581 ?  1.021  ns/op


## 2.2 MacBook 2018 i9 (x64)
* CPU Intel i9

Benchmark                    Mode  Cnt      Score     Error  Units
MergeStoreBench.getIntB      avgt   15  11342.301 ? 176.256  ns/op
MergeStoreBench.getIntBU     avgt   15   7151.310 ?  75.508  ns/op
MergeStoreBench.getIntBV     avgt   15    280.465 ?   2.483  ns/op
MergeStoreBench.getIntL      avgt   15  11124.116 ? 132.253  ns/op
MergeStoreBench.getIntLU     avgt   15   7126.255 ?  33.276  ns/op
MergeStoreBench.getIntLV     avgt   15   1840.656 ?  25.828  ns/op
MergeStoreBench.getIntRB     avgt   15  12084.764 ? 126.922  ns/op
MergeStoreBench.getIntRBU    avgt   15   7822.741 ? 136.473  ns/op
MergeStoreBench.getIntRL     avgt   15  11370.996 ? 150.874  ns/op
MergeStoreBench.getIntRLU    avgt   15   7638.077 ?  86.311  ns/op
MergeStoreBench.getIntRU     avgt   15   2278.221 ?  19.787  ns/op
MergeStoreBench.getIntU      avgt   15   2063.943 ?  10.099  ns/op
MergeStoreBench.getLongB     avgt   15  22398.302 ? 479.694  ns/op
MergeStoreBench.getLongBU    avgt   15  13656.548 ? 212.759  ns/op
MergeStoreBench.getLongBV    avgt   15    757.250 ?  13.629  ns/op
MergeStoreBench.getLongL     avgt   15  20721.523 ? 186.996  ns/op
MergeStoreBench.getLongLU    avgt   15  13647.936 ? 147.855  ns/op
MergeStoreBench.getLongLV    avgt   15   1855.380 ?  30.576  ns/op
MergeStoreBench.getLongRB    avgt   15  22258.859 ? 363.429  ns/op
MergeStoreBench.getLongRBU   avgt   15  13688.325 ? 111.394  ns/op
MergeStoreBench.getLongRL    avgt   15  20736.818 ? 134.670  ns/op
MergeStoreBench.getLongRLU   avgt   15  13648.559 ? 218.167  ns/op
MergeStoreBench.getLongRU    avgt   15   2962.730 ?  61.445  ns/op
MergeStoreBench.getLongU     avgt   15   2881.851 ?  31.687  ns/op
MergeStoreBench.putChars4    avgt   15   5842.259 ? 166.988  ns/op
MergeStoreBench.putChars4UB  avgt   15   3621.801 ?  36.636  ns/op
MergeStoreBench.putChars4UC  avgt   15   7728.219 ? 599.829  ns/op
MergeStoreBench.setIntB      avgt   15   9754.119 ? 100.943  ns/op
MergeStoreBench.setIntBU     avgt   15  12094.327 ?  88.931  ns/op
MergeStoreBench.setIntBV     avgt   15    546.581 ?  11.151  ns/op
MergeStoreBench.setIntL      avgt   15   2241.645 ?  21.620  ns/op
MergeStoreBench.setIntLU     avgt   15   5032.690 ?  39.638  ns/op
MergeStoreBench.setIntLV     avgt   15    727.206 ?   9.519  ns/op
MergeStoreBench.setIntRB     avgt   15  10787.160 ? 187.849  ns/op
MergeStoreBench.setIntRBU    avgt   15  12464.270 ? 121.011  ns/op
MergeStoreBench.setIntRL     avgt   15   5250.418 ?  85.523  ns/op
MergeStoreBench.setIntRLU    avgt   15   7677.631 ?  80.561  ns/op
MergeStoreBench.setIntRU     avgt   15   1011.738 ?   8.791  ns/op
MergeStoreBench.setIntU      avgt   15    791.924 ?  14.517  ns/op
MergeStoreBench.setLongB     avgt   15  17833.690 ? 127.313  ns/op
MergeStoreBench.setLongBU    avgt   15  26447.098 ? 168.301  ns/op
MergeStoreBench.setLongBV    avgt   15   1071.447 ?   8.947  ns/op
MergeStoreBench.setLongL     avgt   15   3724.440 ?  35.119  ns/op
MergeStoreBench.setLongLU    avgt   15   5339.593 ?  45.358  ns/op
MergeStoreBench.setLongLV    avgt   15   1069.890 ?  16.179  ns/op
MergeStoreBench.setLongRB    avgt   15  18908.125 ? 262.767  ns/op
MergeStoreBench.setLongRBU   avgt   15  27622.437 ? 689.809  ns/op
MergeStoreBench.setLongRL    avgt   15   4338.138 ? 115.879  ns/op
MergeStoreBench.setLongRLU   avgt   15   4585.764 ? 102.305  ns/op
MergeStoreBench.setLongRU    avgt   15   1121.779 ?  36.325  ns/op
MergeStoreBench.setLongU     avgt   15   1075.340 ?  17.020  ns/op


## 2.3 Aliyun ecs.c8a (x64)
* CPU AMD EPYCTM Genoa

Benchmark                    Mode  Cnt      Score     Error  Units
MergeStoreBench.getIntB      avgt   15  11976.614 ±  19.245  ns/op
MergeStoreBench.getIntBU     avgt   15   9054.386 ±  12.848  ns/op
MergeStoreBench.getIntBV     avgt   15    304.320 ±   0.412  ns/op
MergeStoreBench.getIntL      avgt   15  10755.574 ± 360.835  ns/op
MergeStoreBench.getIntLU     avgt   15   8889.977 ±  17.342  ns/op
MergeStoreBench.getIntLV     avgt   15   2229.743 ±   3.334  ns/op
MergeStoreBench.getIntRB     avgt   15  12356.363 ±  17.140  ns/op
MergeStoreBench.getIntRBU    avgt   15  11132.557 ±  21.023  ns/op
MergeStoreBench.getIntRL     avgt   15  11218.259 ±  15.377  ns/op
MergeStoreBench.getIntRLU    avgt   15   9356.533 ±  16.075  ns/op
MergeStoreBench.getIntRU     avgt   15   2511.578 ±   4.710  ns/op
MergeStoreBench.getIntU      avgt   15   2497.917 ±   3.230  ns/op
MergeStoreBench.getLongB     avgt   15  26910.266 ±  54.383  ns/op
MergeStoreBench.getLongBU    avgt   15  14217.696 ±  20.862  ns/op
MergeStoreBench.getLongBV    avgt   15    602.235 ±   0.678  ns/op
MergeStoreBench.getLongL     avgt   15  26889.931 ±  43.526  ns/op
MergeStoreBench.getLongLU    avgt   15  14547.062 ±  39.383  ns/op
MergeStoreBench.getLongLV    avgt   15   2228.017 ±   3.593  ns/op
MergeStoreBench.getLongRB    avgt   15  26901.754 ±  29.490  ns/op
MergeStoreBench.getLongRBU   avgt   15  14212.233 ±  17.917  ns/op
MergeStoreBench.getLongRL    avgt   15  26904.774 ±  53.650  ns/op
MergeStoreBench.getLongRLU   avgt   15  14531.530 ±  26.863  ns/op
MergeStoreBench.getLongRU    avgt   15   3066.434 ±   5.223  ns/op
MergeStoreBench.getLongU     avgt   15   3056.801 ±   4.346  ns/op
MergeStoreBench.putChars4    avgt   15  13433.247 ±  19.357  ns/op
MergeStoreBench.putChars4UB  avgt   15   4209.355 ±  10.661  ns/op
MergeStoreBench.putChars4UC  avgt   15   3388.720 ±   7.222  ns/op
MergeStoreBench.setIntB      avgt   15   8044.968 ±  10.066  ns/op
MergeStoreBench.setIntBU     avgt   15  10359.992 ±  41.852  ns/op
MergeStoreBench.setIntBV     avgt   15    598.579 ±   2.360  ns/op
MergeStoreBench.setIntL      avgt   15   2548.295 ±   5.228  ns/op
MergeStoreBench.setIntLU     avgt   15   6179.865 ±  70.419  ns/op
MergeStoreBench.setIntLV     avgt   15    603.562 ±   1.408  ns/op
MergeStoreBench.setIntRB     avgt   15   9743.462 ±  22.873  ns/op
MergeStoreBench.setIntRBU    avgt   15  10673.845 ±  21.662  ns/op
MergeStoreBench.setIntRL     avgt   15   6216.996 ±   7.323  ns/op
MergeStoreBench.setIntRLU    avgt   15   8407.392 ± 108.065  ns/op
MergeStoreBench.setIntRU     avgt   15    635.986 ±   1.449  ns/op
MergeStoreBench.setIntU      avgt   15    610.444 ±   1.139  ns/op
MergeStoreBench.setLongB     avgt   15  17226.045 ±  32.847  ns/op
MergeStoreBench.setLongBU    avgt   15  21476.791 ±  90.608  ns/op
MergeStoreBench.setLongBV    avgt   15   1184.335 ±   1.624  ns/op
MergeStoreBench.setLongL     avgt   15   3352.579 ±   4.849  ns/op
MergeStoreBench.setLongLU    avgt   15   6227.171 ±   9.784  ns/op
MergeStoreBench.setLongLV    avgt   15   1194.549 ±   2.399  ns/op
MergeStoreBench.setLongRB    avgt   15  17967.391 ±  41.726  ns/op
MergeStoreBench.setLongRBU   avgt   15  21428.757 ±  25.568  ns/op
MergeStoreBench.setLongRL    avgt   15   4035.273 ±   6.881  ns/op
MergeStoreBench.setLongRLU   avgt   15   4858.090 ±  16.189  ns/op
MergeStoreBench.setLongRU    avgt   15   1169.711 ±   2.061  ns/op
MergeStoreBench.setLongU     avgt   15   1196.299 ±   1.978  ns/op


## 2.4 Aliyun ecs.c8i (x64)
CPU CPU Intel® Xeon® Emerald

Benchmark                    Mode  Cnt      Score     Error  Units
MergeStoreBench.getIntB      avgt   15  10515.469 ±  21.610  ns/op
MergeStoreBench.getIntBU     avgt   15   9269.025 ±  16.736  ns/op
MergeStoreBench.getIntBV     avgt   15    255.475 ±   0.853  ns/op
MergeStoreBench.getIntL      avgt   15   9699.152 ±  57.865  ns/op
MergeStoreBench.getIntLU     avgt   15   8984.031 ±  13.596  ns/op
MergeStoreBench.getIntLV     avgt   15   2570.119 ±   1.924  ns/op
MergeStoreBench.getIntRB     avgt   15  11281.847 ±   3.579  ns/op
MergeStoreBench.getIntRBU    avgt   15  10323.475 ±  14.128  ns/op
MergeStoreBench.getIntRL     avgt   15  10566.386 ±   2.524  ns/op
MergeStoreBench.getIntRLU    avgt   15   9432.976 ±   2.876  ns/op
MergeStoreBench.getIntRU     avgt   15   2327.557 ±   0.471  ns/op
MergeStoreBench.getIntU      avgt   15   2311.914 ±   1.782  ns/op
MergeStoreBench.getLongB     avgt   15  21682.355 ±  30.503  ns/op
MergeStoreBench.getLongBU    avgt   15  14674.931 ±   3.452  ns/op
MergeStoreBench.getLongBV    avgt   15    652.253 ±   1.555  ns/op
MergeStoreBench.getLongL     avgt   15  21583.633 ±  28.439  ns/op
MergeStoreBench.getLongLU    avgt   15  14350.307 ±  31.842  ns/op
MergeStoreBench.getLongLV    avgt   15   2575.151 ±   0.376  ns/op
MergeStoreBench.getLongRB    avgt   15  21678.521 ±   5.962  ns/op
MergeStoreBench.getLongRBU   avgt   15  14678.208 ±  23.997  ns/op
MergeStoreBench.getLongRL    avgt   15  21576.705 ±   2.667  ns/op
MergeStoreBench.getLongRLU   avgt   15  14341.769 ±  22.908  ns/op
MergeStoreBench.getLongRU    avgt   15   2986.505 ±   0.574  ns/op
MergeStoreBench.getLongU     avgt   15   2940.918 ±   0.348  ns/op
MergeStoreBench.putChars4    avgt   15  10438.053 ±  15.578  ns/op
MergeStoreBench.putChars4UB  avgt   15   3015.499 ±   7.300  ns/op
MergeStoreBench.putChars4UC  avgt   15   5317.663 ±   3.992  ns/op
MergeStoreBench.setIntB      avgt   15   6885.979 ±  11.822  ns/op
MergeStoreBench.setIntBU     avgt   15  10131.264 ±  30.389  ns/op
MergeStoreBench.setIntBV     avgt   15    898.844 ±   3.806  ns/op
MergeStoreBench.setIntL      avgt   15   2885.903 ±   3.228  ns/op
MergeStoreBench.setIntLU     avgt   15   5282.482 ±  59.298  ns/op
MergeStoreBench.setIntLV     avgt   15    949.442 ±   2.543  ns/op
MergeStoreBench.setIntRB     avgt   15   8152.273 ±  11.990  ns/op
MergeStoreBench.setIntRBU    avgt   15  10604.720 ±  19.430  ns/op
MergeStoreBench.setIntRL     avgt   15   5989.979 ±   4.767  ns/op
MergeStoreBench.setIntRLU    avgt   15   7261.499 ± 120.307  ns/op
MergeStoreBench.setIntRU     avgt   15    960.782 ±   2.784  ns/op
MergeStoreBench.setIntU      avgt   15    989.716 ±   1.030  ns/op
MergeStoreBench.setLongB     avgt   15  15865.777 ±  32.450  ns/op
MergeStoreBench.setLongBU    avgt   15  22843.580 ±  48.434  ns/op
MergeStoreBench.setLongBV    avgt   15   1814.973 ±   7.079  ns/op
MergeStoreBench.setLongL     avgt   15   4346.312 ±   1.318  ns/op
MergeStoreBench.setLongLU    avgt   15   5399.475 ±  35.513  ns/op
MergeStoreBench.setLongLV    avgt   15   1903.106 ±  22.995  ns/op
MergeStoreBench.setLongRB    avgt   15  16980.234 ±  34.819  ns/op
MergeStoreBench.setLongRBU   avgt   15  24924.078 ±  49.285  ns/op
MergeStoreBench.setLongRL    avgt   15   4483.791 ±   6.976  ns/op
MergeStoreBench.setLongRLU   avgt   15   5004.085 ±   3.843  ns/op
MergeStoreBench.setLongRU    avgt   15   1818.725 ±  21.406  ns/op
MergeStoreBench.setLongU     avgt   15   1940.593 ±  21.824  ns/op


## 2.5 Aliyun ecs.c8y (aarch64)
* CPU Aliyun Yitian 710

Benchmark                    Mode  Cnt      Score     Error  Units
MergeStoreBench.getIntB      avgt   15   7693.088 ±   3.311  ns/op
MergeStoreBench.getIntBU     avgt   15   6569.492 ±   4.363  ns/op
MergeStoreBench.getIntBV     avgt   15   1360.788 ±   0.185  ns/op
MergeStoreBench.getIntL      avgt   15   6869.948 ±   0.459  ns/op
MergeStoreBench.getIntLU     avgt   15   6059.390 ±  10.758  ns/op
MergeStoreBench.getIntLV     avgt   15   2753.969 ±   0.147  ns/op
MergeStoreBench.getIntRB     avgt   15   8176.169 ± 108.856  ns/op
MergeStoreBench.getIntRBU    avgt   15   7262.778 ±   2.157  ns/op
MergeStoreBench.getIntRL     avgt   15   7691.955 ±   2.307  ns/op
MergeStoreBench.getIntRLU    avgt   15   6687.164 ±  11.958  ns/op
MergeStoreBench.getIntRU     avgt   15   2816.706 ±   1.032  ns/op
MergeStoreBench.getIntU      avgt   15   2855.242 ±   0.395  ns/op
MergeStoreBench.getLongB     avgt   15  13808.276 ±   5.076  ns/op
MergeStoreBench.getLongBU    avgt   15  11786.525 ±   6.141  ns/op
MergeStoreBench.getLongBV    avgt   15   2792.010 ±   0.671  ns/op
MergeStoreBench.getLongL     avgt   15  13296.684 ±  17.836  ns/op
MergeStoreBench.getLongLU    avgt   15  11210.969 ±   5.916  ns/op
MergeStoreBench.getLongLV    avgt   15   2759.405 ±   0.240  ns/op
MergeStoreBench.getLongRB    avgt   15  13812.198 ±   2.658  ns/op
MergeStoreBench.getLongRBU   avgt   15  11786.747 ±   5.149  ns/op
MergeStoreBench.getLongRL    avgt   15  13300.198 ±  16.842  ns/op
MergeStoreBench.getLongRLU   avgt   15  11208.050 ±   9.084  ns/op
MergeStoreBench.getLongRU    avgt   15   2835.510 ±   0.462  ns/op
MergeStoreBench.getLongU     avgt   15   2864.473 ±   0.705  ns/op
MergeStoreBench.putChars4    avgt   15   8895.844 ±   6.508  ns/op
MergeStoreBench.putChars4UB  avgt   15   5495.596 ±   1.519  ns/op
MergeStoreBench.putChars4UC  avgt   15   5110.665 ±   6.025  ns/op
MergeStoreBench.setIntB      avgt   15   6062.162 ±   4.247  ns/op
MergeStoreBench.setIntBU     avgt   15   6665.214 ±  13.035  ns/op
MergeStoreBench.setIntBV     avgt   15   1362.756 ±   0.087  ns/op
MergeStoreBench.setIntL      avgt   15   2823.779 ±   0.791  ns/op
MergeStoreBench.setIntLU     avgt   15   2766.163 ±   0.179  ns/op
MergeStoreBench.setIntLV     avgt   15   5508.486 ±   1.444  ns/op
MergeStoreBench.setIntRB     avgt   15   7591.497 ±   6.000  ns/op
MergeStoreBench.setIntRBU    avgt   15   7748.780 ±   4.463  ns/op
MergeStoreBench.setIntRL     avgt   15   5517.300 ±   7.851  ns/op
MergeStoreBench.setIntRLU    avgt   15   5622.521 ±   1.091  ns/op
MergeStoreBench.setIntRU     avgt   15   5581.834 ±   1.102  ns/op
MergeStoreBench.setIntU      avgt   15   5463.442 ±   0.682  ns/op
MergeStoreBench.setLongB     avgt   15  13516.164 ±   5.466  ns/op
MergeStoreBench.setLongBU    avgt   15  13614.626 ±  20.629  ns/op
MergeStoreBench.setLongBV    avgt   15   2796.317 ±   0.953  ns/op
MergeStoreBench.setLongL     avgt   15   5549.128 ±  28.272  ns/op
MergeStoreBench.setLongLU    avgt   15   4130.981 ±   1.344  ns/op
MergeStoreBench.setLongLV    avgt   15   2785.515 ±   0.318  ns/op
MergeStoreBench.setLongRB    avgt   15  14287.192 ±  10.265  ns/op
MergeStoreBench.setLongRBU   avgt   15  14499.620 ±  10.026  ns/op
MergeStoreBench.setLongRL    avgt   15   6671.064 ±  21.088  ns/op
MergeStoreBench.setLongRLU   avgt   15   4831.917 ±  11.497  ns/op
MergeStoreBench.setLongRU    avgt   15   3197.165 ±   0.768  ns/op
MergeStoreBench.setLongU     avgt   15   2799.934 ±   1.945  ns/op


## 2.6 Orange Pi 5 Plus (aarch64)
* Rockchip RK3588S (8nm LP process)
* 
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-Pro.html

Benchmark                    Mode  Cnt      Score     Error  Units
MergeStoreBench.getIntB      avgt   15  14310.070 ±  80.699  ns/op
MergeStoreBench.getIntBU     avgt   15  12523.180 ±  30.688  ns/op
MergeStoreBench.getIntBV     avgt   15   1846.502 ±   5.312  ns/op
MergeStoreBench.getIntL      avgt   15  12956.229 ±  24.863  ns/op
MergeStoreBench.getIntLU     avgt   15  11325.391 ±  38.825  ns/op
MergeStoreBench.getIntLV     avgt   15   3768.575 ±  20.082  ns/op
MergeStoreBench.getIntRB     avgt   15  15539.092 ±  40.245  ns/op
MergeStoreBench.getIntRBU    avgt   15  13862.743 ±  54.321  ns/op
MergeStoreBench.getIntRL     avgt   15  14186.647 ±  35.623  ns/op
MergeStoreBench.getIntRLU    avgt   15  12573.647 ±  23.523  ns/op
MergeStoreBench.getIntRU     avgt   15   4368.234 ±  23.460  ns/op
MergeStoreBench.getIntU      avgt   15   3700.248 ±  17.718  ns/op
MergeStoreBench.getLongB     avgt   15  26513.593 ±  84.012  ns/op
MergeStoreBench.getLongBU    avgt   15  22001.241 ±  47.761  ns/op
MergeStoreBench.getLongBV    avgt   15   4148.252 ±  15.058  ns/op
MergeStoreBench.getLongL     avgt   15  25282.815 ± 130.802  ns/op
MergeStoreBench.getLongLU    avgt   15  21206.815 ±  85.923  ns/op
MergeStoreBench.getLongLV    avgt   15   3777.233 ±   7.117  ns/op
MergeStoreBench.getLongRB    avgt   15  26485.481 ±  40.748  ns/op
MergeStoreBench.getLongRBU   avgt   15  21973.762 ±  32.260  ns/op
MergeStoreBench.getLongRL    avgt   15  25299.502 ±  59.614  ns/op
MergeStoreBench.getLongRLU   avgt   15  21178.624 ±  65.400  ns/op
MergeStoreBench.getLongRU    avgt   15   4388.503 ±  15.022  ns/op
MergeStoreBench.getLongU     avgt   15   3721.682 ±   3.202  ns/op
MergeStoreBench.putChars4    avgt   15  18617.889 ± 194.877  ns/op
MergeStoreBench.putChars4UB  avgt   15  11140.563 ±  35.977  ns/op
MergeStoreBench.putChars4UC  avgt   15  10913.407 ±  30.633  ns/op
MergeStoreBench.setIntB      avgt   15  11670.307 ±  30.119  ns/op
MergeStoreBench.setIntBU     avgt   15  13614.156 ±  79.641  ns/op
MergeStoreBench.setIntBV     avgt   15   1856.985 ±   3.735  ns/op
MergeStoreBench.setIntL      avgt   15   5094.994 ± 143.111  ns/op
MergeStoreBench.setIntLU     avgt   15   4653.661 ±  13.918  ns/op
MergeStoreBench.setIntLV     avgt   15   7364.007 ±  23.713  ns/op
MergeStoreBench.setIntRL     avgt   15   7745.408 ±  19.505  ns/op
MergeStoreBench.setIntRLU    avgt   15   8262.371 ±  17.381  ns/op
MergeStoreBench.setIntRU     avgt   15   7361.715 ±  15.911  ns/op
MergeStoreBench.setIntU      avgt   15   7360.358 ±  18.326  ns/op
MergeStoreBench.setLongB     avgt   15  29724.536 ± 111.106  ns/op
MergeStoreBench.setLongBU    avgt   15  28497.008 ± 141.615  ns/op
MergeStoreBench.setLongBV    avgt   15   5722.789 ±  32.736  ns/op
MergeStoreBench.setLongL     avgt   15  10547.782 ±  31.164  ns/op
MergeStoreBench.setLongLU    avgt   15   8291.086 ±  39.928  ns/op
MergeStoreBench.setLongLV    avgt   15   4614.304 ±  24.229  ns/op
MergeStoreBench.setLongRB    avgt   15  33607.418 ± 293.440  ns/op
MergeStoreBench.setLongRBU   avgt   15  30414.981 ±  74.164  ns/op
MergeStoreBench.setLongRL    avgt   15  13901.427 ±  79.116  ns/op
MergeStoreBench.setLongRLU   avgt   15   9751.634 ± 337.882  ns/op
MergeStoreBench.setLongRU    avgt   15   6305.701 ±  13.433  ns/op
MergeStoreBench.setLongU     avgt   15   5174.620 ±  27.848  ns/op


## 2.7 AWS ecs c5.xlarge (x64)

Benchmark                    Mode  Cnt      Score     Error  Units
MergeStoreBench.getIntB      avgt   15  13079.509 ±  31.297  ns/op
MergeStoreBench.getIntBU     avgt   15   9462.475 ±  21.237  ns/op
MergeStoreBench.getIntBV     avgt   15    427.081 ±  11.493  ns/op
MergeStoreBench.getIntL      avgt   15  12265.667 ± 155.913  ns/op
MergeStoreBench.getIntLU     avgt   15   9444.551 ±   6.117  ns/op
MergeStoreBench.getIntLV     avgt   15   2424.707 ±   3.046  ns/op
MergeStoreBench.getIntRB     avgt   15  13399.629 ±  21.861  ns/op
MergeStoreBench.getIntRBU    avgt   15  10146.871 ±  29.528  ns/op
MergeStoreBench.getIntRL     avgt   15  13079.355 ±   4.712  ns/op
MergeStoreBench.getIntRLU    avgt   15  10074.582 ±  21.369  ns/op
MergeStoreBench.getIntRU     avgt   15   2965.584 ±   8.777  ns/op
MergeStoreBench.getIntU      avgt   15   2725.438 ±   3.373  ns/op
MergeStoreBench.getLongB     avgt   15  26115.043 ±  45.099  ns/op
MergeStoreBench.getLongBU    avgt   15  17887.028 ±  31.958  ns/op
MergeStoreBench.getLongBV    avgt   15   1003.857 ±   3.478  ns/op
MergeStoreBench.getLongL     avgt   15  26121.420 ±  56.763  ns/op
MergeStoreBench.getLongLU    avgt   15  17838.494 ±  33.942  ns/op
MergeStoreBench.getLongLV    avgt   15   2422.744 ±   2.451  ns/op
MergeStoreBench.getLongRB    avgt   15  26099.347 ±   7.375  ns/op
MergeStoreBench.getLongRBU   avgt   15  17892.774 ±  36.187  ns/op
MergeStoreBench.getLongRL    avgt   15  26113.364 ±  42.866  ns/op
MergeStoreBench.getLongRLU   avgt   15  17828.021 ±   5.329  ns/op
MergeStoreBench.getLongRU    avgt   15   3848.432 ±   0.722  ns/op
MergeStoreBench.getLongU     avgt   15   3784.374 ±   6.472  ns/op
MergeStoreBench.putChars4    avgt   15   9816.198 ±  26.355  ns/op
MergeStoreBench.putChars4UB  avgt   15   4706.135 ±   4.254  ns/op
MergeStoreBench.putChars4UC  avgt   15  10203.688 ±  56.176  ns/op
MergeStoreBench.setIntB      avgt   15  12799.623 ±  28.007  ns/op
MergeStoreBench.setIntBU     avgt   15  15187.730 ±  40.084  ns/op
MergeStoreBench.setIntBV     avgt   15    889.277 ±  11.389  ns/op
MergeStoreBench.setIntL      avgt   15   2970.163 ±   5.265  ns/op
MergeStoreBench.setIntLU     avgt   15   6769.524 ±  18.502  ns/op
MergeStoreBench.setIntLV     avgt   15    945.737 ±   2.444  ns/op
MergeStoreBench.setIntRB     avgt   15  14046.973 ±  32.796  ns/op
MergeStoreBench.setIntRBU    avgt   15  16527.209 ±  82.575  ns/op
MergeStoreBench.setIntRL     avgt   15   7020.496 ± 179.054  ns/op
MergeStoreBench.setIntRLU    avgt   15  10178.358 ±  19.539  ns/op
MergeStoreBench.setIntRU     avgt   15   1343.150 ±   6.356  ns/op
MergeStoreBench.setIntU      avgt   15   1037.694 ±   2.379  ns/op
MergeStoreBench.setLongB     avgt   15  22693.643 ±  42.961  ns/op
MergeStoreBench.setLongBU    avgt   15  35717.196 ± 104.769  ns/op
MergeStoreBench.setLongBV    avgt   15   1753.671 ±  26.216  ns/op
MergeStoreBench.setLongL     avgt   15   4150.631 ±   1.421  ns/op
MergeStoreBench.setLongLU    avgt   15   7141.568 ±  27.922  ns/op
MergeStoreBench.setLongLV    avgt   15   1678.193 ±   5.627  ns/op
MergeStoreBench.setLongRB    avgt   15  24545.267 ±   6.587  ns/op
MergeStoreBench.setLongRBU   avgt   15  36050.753 ±  65.961  ns/op
MergeStoreBench.setLongRL    avgt   15   5557.854 ±   8.769  ns/op
MergeStoreBench.setLongRLU   avgt   15   6155.434 ±  50.697  ns/op
MergeStoreBench.setLongRU    avgt   15   1751.805 ±  26.192  ns/op
MergeStoreBench.setLongU     avgt   15   1701.889 ±   9.799  ns/op


## 2.8 AWS c7g.xlarge (aarch64)
* [AWS Graviton3 Processor](https://aws.amazon.com/ec2/graviton/)

Benchmark                    Mode  Cnt      Score     Error  Units
MergeStoreBench.getIntB      avgt   15   8043.459 ±   4.801  ns/op
MergeStoreBench.getIntBU     avgt   15   7056.463 ±   3.285  ns/op
MergeStoreBench.getIntBV     avgt   15    780.570 ±   0.033  ns/op
MergeStoreBench.getIntL      avgt   15   7666.043 ±  10.795  ns/op
MergeStoreBench.getIntLU     avgt   15   6379.222 ±  13.369  ns/op
MergeStoreBench.getIntLV     avgt   15   3179.702 ±   0.235  ns/op
MergeStoreBench.getIntRB     avgt   15   8892.801 ±   7.461  ns/op
MergeStoreBench.getIntRBU    avgt   15   7822.666 ±   0.944  ns/op
MergeStoreBench.getIntRL     avgt   15   8385.029 ± 255.203  ns/op
MergeStoreBench.getIntRLU    avgt   15   6995.686 ±   1.382  ns/op
MergeStoreBench.getIntRU     avgt   15   2361.462 ±   0.125  ns/op
MergeStoreBench.getIntU      avgt   15   2232.425 ±   0.121  ns/op
MergeStoreBench.getLongB     avgt   15  15212.747 ±  72.866  ns/op
MergeStoreBench.getLongBU    avgt   15  12521.436 ±  10.604  ns/op
MergeStoreBench.getLongBV    avgt   15   1570.044 ±   0.614  ns/op
MergeStoreBench.getLongL     avgt   15  14723.614 ±   2.207  ns/op
MergeStoreBench.getLongLU    avgt   15  12038.660 ±  17.515  ns/op
MergeStoreBench.getLongLV    avgt   15   3180.912 ±   0.213  ns/op
MergeStoreBench.getLongRB    avgt   15  15168.386 ±   3.612  ns/op
MergeStoreBench.getLongRBU   avgt   15  12513.044 ±   6.066  ns/op
MergeStoreBench.getLongRL    avgt   15  14725.218 ±   2.830  ns/op
MergeStoreBench.getLongRLU   avgt   15  12030.288 ±  17.871  ns/op
MergeStoreBench.getLongRU    avgt   15   3198.287 ±   0.195  ns/op
MergeStoreBench.getLongU     avgt   15   3187.308 ±   0.211  ns/op
MergeStoreBench.putChars4    avgt   15  10401.393 ±  12.031  ns/op
MergeStoreBench.putChars4UB  avgt   15   3677.934 ±   2.670  ns/op
MergeStoreBench.putChars4UC  avgt   15   5744.121 ±  82.141  ns/op
MergeStoreBench.setIntB      avgt   15   7043.439 ±   2.165  ns/op
MergeStoreBench.setIntBU     avgt   15   7981.350 ±   0.716  ns/op
MergeStoreBench.setIntBV     avgt   15    784.619 ±   0.029  ns/op
MergeStoreBench.setIntL      avgt   15   3189.311 ±   0.710  ns/op
MergeStoreBench.setIntLU     avgt   15   3272.439 ±   3.194  ns/op
MergeStoreBench.setIntLV     avgt   15   1565.925 ±   0.146  ns/op
MergeStoreBench.setIntRB     avgt   15   8625.077 ±   1.519  ns/op
MergeStoreBench.setIntRBU    avgt   15   8105.421 ±  27.598  ns/op
MergeStoreBench.setIntRL     avgt   15   6300.870 ±   0.364  ns/op
MergeStoreBench.setIntRLU    avgt   15   6336.852 ±   1.972  ns/op
MergeStoreBench.setIntRU     avgt   15   1716.681 ±  28.187  ns/op
MergeStoreBench.setIntU      avgt   15   1567.628 ±   0.316  ns/op
MergeStoreBench.setLongB     avgt   15  14894.383 ±  12.716  ns/op
MergeStoreBench.setLongBU    avgt   15  16058.865 ±  17.127  ns/op
MergeStoreBench.setLongBV    avgt   15   1575.499 ±   0.678  ns/op
MergeStoreBench.setLongL     avgt   15   6856.932 ±  25.268  ns/op
MergeStoreBench.setLongLU    avgt   15   3385.389 ±   3.971  ns/op
MergeStoreBench.setLongLV    avgt   15   1569.862 ±   0.616  ns/op
MergeStoreBench.setLongRB    avgt   15  15452.243 ±   6.443  ns/op
MergeStoreBench.setLongRBU   avgt   15  15453.597 ±  10.201  ns/op
MergeStoreBench.setLongRL    avgt   15   7176.426 ±   4.363  ns/op
MergeStoreBench.setLongRLU   avgt   15   3211.004 ±   1.041  ns/op
MergeStoreBench.setLongRU    avgt   15   1575.034 ±   0.267  ns/op
MergeStoreBench.setLongU     avgt   15   1569.837 ±   0.461  ns/op

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

PR Comment: https://git.openjdk.org/jdk/pull/19734#issuecomment-2171146882

Reply via email to