On Wed, 24 Jul 2024 16:00:10 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. > > Shaojin Wen 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 16 additional > commits since the last revision: > > - Merge remote-tracking branch 'upstream/master' into merge_store_bench > - move to vm.compiler > - Merge remote-tracking branch 'upstream/master' into merge_store_bench > - Merge remote-tracking branch 'upstream/master' into merge_store_bench > - bug fix for `putChars4C` > - bug fix for `putChars4C` and `putChars4S` > - use VarHandler CHAR_L & CHAR_B > - copyright > - bug fix for putIntBU > - add cases for `getChar` & `putChar` > - ... and 6 more: https://git.openjdk.org/jdk/compare/e56ab33e...d00654ff Here are the performance numbers running on the new MacBook M1 Pro, * Test scenarios with significant performance improvements Benchmark Mode Cnt Score-Old Score-New Units MergeStoreBench.putChars4BU avgt 15 10266.123 3830.198 * ns/op MergeStoreBench.putChars4LU avgt 15 10266.238 3827.784 * ns/op MergeStoreBench.setIntLU avgt 15 5103.562 2573.624 * ns/op MergeStoreBench.setLongLU avgt 15 10304.012 2921.575 * ns/op MergeStoreBench.setLongRLU avgt 15 10263.975 3241.057 * ns/op * Benchmark Mode Cnt Score-Old Score-New Units MergeStoreBench.getCharB avgt 15 5341.787 5340.200 ns/op MergeStoreBench.getCharBU avgt 15 5477.363 5482.163 ns/op MergeStoreBench.getCharBV avgt 15 5163.099 5074.165 ns/op MergeStoreBench.getCharC avgt 15 5068.708 5051.763 ns/op MergeStoreBench.getCharL avgt 15 5379.821 5374.464 ns/op MergeStoreBench.getCharLU avgt 15 5477.268 5487.532 ns/op MergeStoreBench.getCharLV avgt 15 5079.045 5071.263 ns/op MergeStoreBench.getIntB avgt 15 6276.548 6277.984 ns/op MergeStoreBench.getIntBU avgt 15 5229.813 5232.984 ns/op MergeStoreBench.getIntBV avgt 15 1207.868 1206.264 ns/op MergeStoreBench.getIntL avgt 15 6182.150 6172.779 ns/op MergeStoreBench.getIntLU avgt 15 5164.260 5157.317 ns/op MergeStoreBench.getIntLV avgt 15 2555.443 2558.110 ns/op MergeStoreBench.getIntRB avgt 15 6879.188 6889.916 ns/op MergeStoreBench.getIntRBU avgt 15 5771.857 5769.950 ns/op MergeStoreBench.getIntRL avgt 15 6625.754 6625.605 ns/op MergeStoreBench.getIntRLU avgt 15 5746.554 5746.742 ns/op MergeStoreBench.getIntRU avgt 15 2547.449 2544.586 ns/op MergeStoreBench.getIntU avgt 15 2543.552 2541.119 ns/op MergeStoreBench.getLongB avgt 15 12099.002 12098.129 ns/op MergeStoreBench.getLongBU avgt 15 9771.893 9760.621 ns/op MergeStoreBench.getLongBV avgt 15 2593.835 2593.635 ns/op MergeStoreBench.getLongL avgt 15 12045.235 12031.065 ns/op MergeStoreBench.getLongLU avgt 15 9659.585 9653.938 ns/op MergeStoreBench.getLongLV avgt 15 2561.089 2557.521 ns/op MergeStoreBench.getLongRB avgt 15 12095.060 12092.061 ns/op MergeStoreBench.getLongRBU avgt 15 9767.943 9763.489 ns/op MergeStoreBench.getLongRL avgt 15 12037.935 12027.686 ns/op MergeStoreBench.getLongRLU avgt 15 9655.918 9649.433 ns/op MergeStoreBench.getLongRU avgt 15 2551.109 2546.239 ns/op MergeStoreBench.getLongU avgt 15 2543.732 2539.762 ns/op MergeStoreBench.putChars4B avgt 15 8499.750 8487.381 ns/op MergeStoreBench.putChars4BU avgt 15 10266.123 3830.198 * ns/op MergeStoreBench.putChars4BV avgt 15 5153.418 5154.819 ns/op MergeStoreBench.putChars4C avgt 15 5141.336 5162.766 ns/op MergeStoreBench.putChars4L avgt 15 8382.747 8381.231 ns/op MergeStoreBench.putChars4LU avgt 15 10266.238 3827.784 * ns/op MergeStoreBench.putChars4LV avgt 15 5150.613 5151.508 ns/op MergeStoreBench.putChars4S avgt 15 5144.843 5152.123 ns/op MergeStoreBench.setCharBS avgt 15 5318.051 5317.319 ns/op MergeStoreBench.setCharBV avgt 15 5187.295 5175.400 ns/op MergeStoreBench.setCharC avgt 15 5093.774 5085.752 ns/op MergeStoreBench.setCharLS avgt 15 5301.267 5294.766 ns/op MergeStoreBench.setCharLV avgt 15 5116.066 5108.269 ns/op MergeStoreBench.setIntB avgt 15 5104.537 5095.236 ns/op MergeStoreBench.setIntBU avgt 15 5104.838 5097.007 ns/op MergeStoreBench.setIntBV avgt 15 1228.375 1224.506 ns/op MergeStoreBench.setIntL avgt 15 2772.278 2764.388 ns/op MergeStoreBench.setIntLU avgt 15 5103.562 2573.624 * ns/op MergeStoreBench.setIntLV avgt 15 5112.770 5105.804 ns/op MergeStoreBench.setIntRB avgt 15 5356.946 5348.785 ns/op MergeStoreBench.setIntRBU avgt 15 5420.478 5422.049 ns/op MergeStoreBench.setIntRL avgt 15 5297.975 5293.414 ns/op MergeStoreBench.setIntRLU avgt 15 5418.844 5126.889 ns/op MergeStoreBench.setIntRU avgt 15 5108.486 5097.927 ns/op MergeStoreBench.setIntU avgt 15 5091.868 5087.192 ns/op MergeStoreBench.setLongB avgt 15 10273.648 10249.037 ns/op MergeStoreBench.setLongBU avgt 15 10271.248 10238.910 ns/op MergeStoreBench.setLongBV avgt 15 2667.768 2663.647 ns/op MergeStoreBench.setLongL avgt 15 6316.791 6304.458 ns/op MergeStoreBench.setLongLU avgt 15 10304.012 2921.575 * ns/op MergeStoreBench.setLongLV avgt 15 2667.648 2663.323 ns/op MergeStoreBench.setLongRB avgt 15 10269.238 10255.875 ns/op MergeStoreBench.setLongRBU avgt 15 10272.547 10227.856 ns/op MergeStoreBench.setLongRL avgt 15 6651.182 6641.173 ns/op MergeStoreBench.setLongRLU avgt 15 10263.975 3241.057 * ns/op MergeStoreBench.setLongRU avgt 15 2621.004 2608.399 ns/op MergeStoreBench.setLongU avgt 15 2606.578 2594.970 ns/op ------------- PR Comment: https://git.openjdk.org/jdk/pull/19734#issuecomment-2248969570