RFR: 8332587: RISC-V: secondary_super_cache does not scale well [v8]
Gui Cao
gcao at openjdk.org
Wed Jun 19 17:17:16 UTC 2024
On Wed, 19 Jun 2024 10:46:36 GMT, Andrew Haley <aph at openjdk.org> wrote:
> I think I may have found the problem: the warmup loop doesn't run for long enough on some machines. Can you try something like `-wi 10` ?
Hi, Sorry for being late.
JMH tested on SOPHON SG2042 (has not Zbb)
Original(not with patch):
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 22.653 ± 0.158 ns/op
SecondarySupersLookup.testNegative01 avgt 15 23.154 ± 0.116 ns/op
SecondarySupersLookup.testNegative02 avgt 15 24.165 ± 0.138 ns/op
SecondarySupersLookup.testNegative03 avgt 15 25.177 ± 0.145 ns/op
SecondarySupersLookup.testNegative04 avgt 15 26.389 ± 0.457 ns/op
SecondarySupersLookup.testNegative05 avgt 15 27.181 ± 0.129 ns/op
SecondarySupersLookup.testNegative06 avgt 15 28.186 ± 0.146 ns/op
SecondarySupersLookup.testNegative07 avgt 15 29.185 ± 0.148 ns/op
SecondarySupersLookup.testNegative08 avgt 15 30.196 ± 0.149 ns/op
SecondarySupersLookup.testNegative09 avgt 15 31.219 ± 0.151 ns/op
SecondarySupersLookup.testNegative10 avgt 15 32.220 ± 0.162 ns/op
SecondarySupersLookup.testNegative16 avgt 15 62.332 ± 0.211 ns/op
SecondarySupersLookup.testNegative20 avgt 15 54.752 ± 4.521 ns/op
SecondarySupersLookup.testNegative30 avgt 15 64.195 ± 0.072 ns/op
SecondarySupersLookup.testNegative32 avgt 15 67.184 ± 0.074 ns/op
SecondarySupersLookup.testNegative40 avgt 15 79.235 ± 0.078 ns/op
SecondarySupersLookup.testNegative50 avgt 15 94.304 ± 0.093 ns/op
SecondarySupersLookup.testNegative55 avgt 15 101.850 ± 0.182 ns/op
SecondarySupersLookup.testNegative56 avgt 15 103.310 ± 0.099 ns/op
SecondarySupersLookup.testNegative57 avgt 15 104.864 ± 0.140 ns/op
SecondarySupersLookup.testNegative58 avgt 15 106.375 ± 0.170 ns/op
SecondarySupersLookup.testNegative59 avgt 15 108.056 ± 0.459 ns/op
SecondarySupersLookup.testNegative60 avgt 15 109.431 ± 0.142 ns/op
SecondarySupersLookup.testNegative61 avgt 15 110.859 ± 0.136 ns/op
SecondarySupersLookup.testNegative62 avgt 15 112.627 ± 0.477 ns/op
SecondarySupersLookup.testNegative63 avgt 15 113.870 ± 0.145 ns/op
SecondarySupersLookup.testNegative64 avgt 15 115.399 ± 0.145 ns/op
SecondarySupersLookup.testPositive01 avgt 15 20.129 ± 0.101 ns/op
SecondarySupersLookup.testPositive02 avgt 15 20.130 ± 0.105 ns/op
SecondarySupersLookup.testPositive03 avgt 15 20.130 ± 0.117 ns/op
SecondarySupersLookup.testPositive04 avgt 15 20.133 ± 0.106 ns/op
SecondarySupersLookup.testPositive05 avgt 15 20.144 ± 0.110 ns/op
SecondarySupersLookup.testPositive06 avgt 15 20.324 ± 0.454 ns/op
SecondarySupersLookup.testPositive07 avgt 15 20.131 ± 0.097 ns/op
SecondarySupersLookup.testPositive08 avgt 15 20.139 ± 0.102 ns/op
SecondarySupersLookup.testPositive09 avgt 15 20.135 ± 0.107 ns/op
SecondarySupersLookup.testPositive10 avgt 15 20.136 ± 0.111 ns/op
SecondarySupersLookup.testPositive16 avgt 15 20.122 ± 0.105 ns/op
SecondarySupersLookup.testPositive20 avgt 15 20.133 ± 0.106 ns/op
SecondarySupersLookup.testPositive30 avgt 15 20.147 ± 0.104 ns/op
SecondarySupersLookup.testPositive32 avgt 15 20.137 ± 0.101 ns/op
SecondarySupersLookup.testPositive40 avgt 15 20.139 ± 0.110 ns/op
SecondarySupersLookup.testPositive50 avgt 15 20.135 ± 0.120 ns/op
SecondarySupersLookup.testPositive60 avgt 15 20.133 ± 0.122 ns/op
SecondarySupersLookup.testPositive63 avgt 15 20.128 ± 0.106 ns/op
SecondarySupersLookup.testPositive64 avgt 15 20.138 ± 0.120 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
With patch
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 20.644 ± 0.152 ns/op
SecondarySupersLookup.testNegative01 avgt 15 20.658 ± 0.120 ns/op
SecondarySupersLookup.testNegative02 avgt 15 20.855 ± 0.472 ns/op
SecondarySupersLookup.testNegative03 avgt 15 20.848 ± 0.479 ns/op
SecondarySupersLookup.testNegative04 avgt 15 20.885 ± 0.476 ns/op
SecondarySupersLookup.testNegative05 avgt 15 20.652 ± 0.124 ns/op
SecondarySupersLookup.testNegative06 avgt 15 20.644 ± 0.122 ns/op
SecondarySupersLookup.testNegative07 avgt 15 20.651 ± 0.124 ns/op
SecondarySupersLookup.testNegative08 avgt 15 20.654 ± 0.128 ns/op
SecondarySupersLookup.testNegative09 avgt 15 20.672 ± 0.133 ns/op
SecondarySupersLookup.testNegative10 avgt 15 20.649 ± 0.127 ns/op
SecondarySupersLookup.testNegative16 avgt 15 21.072 ± 0.571 ns/op
SecondarySupersLookup.testNegative20 avgt 15 20.880 ± 0.492 ns/op
SecondarySupersLookup.testNegative30 avgt 15 20.673 ± 0.167 ns/op
SecondarySupersLookup.testNegative32 avgt 15 20.672 ± 0.165 ns/op
SecondarySupersLookup.testNegative40 avgt 15 20.678 ± 0.184 ns/op
SecondarySupersLookup.testNegative50 avgt 15 20.687 ± 0.183 ns/op
SecondarySupersLookup.testNegative55 avgt 15 119.554 ± 4.316 ns/op
SecondarySupersLookup.testNegative56 avgt 15 121.866 ± 4.324 ns/op
SecondarySupersLookup.testNegative57 avgt 15 120.363 ± 4.179 ns/op
SecondarySupersLookup.testNegative58 avgt 15 123.774 ± 4.534 ns/op
SecondarySupersLookup.testNegative59 avgt 15 122.846 ± 3.909 ns/op
SecondarySupersLookup.testNegative60 avgt 15 150.788 ± 3.687 ns/op
SecondarySupersLookup.testNegative61 avgt 15 152.192 ± 4.246 ns/op
SecondarySupersLookup.testNegative62 avgt 15 154.314 ± 4.429 ns/op
SecondarySupersLookup.testNegative63 avgt 15 211.804 ± 2.630 ns/op
SecondarySupersLookup.testNegative64 avgt 15 213.304 ± 2.362 ns/op
SecondarySupersLookup.testPositive01 avgt 15 20.334 ± 0.453 ns/op
SecondarySupersLookup.testPositive02 avgt 15 20.128 ± 0.106 ns/op
SecondarySupersLookup.testPositive03 avgt 15 20.144 ± 0.115 ns/op
SecondarySupersLookup.testPositive04 avgt 15 20.124 ± 0.101 ns/op
SecondarySupersLookup.testPositive05 avgt 15 20.134 ± 0.111 ns/op
SecondarySupersLookup.testPositive06 avgt 15 20.125 ± 0.098 ns/op
SecondarySupersLookup.testPositive07 avgt 15 20.216 ± 0.212 ns/op
SecondarySupersLookup.testPositive08 avgt 15 20.379 ± 0.462 ns/op
SecondarySupersLookup.testPositive09 avgt 15 20.145 ± 0.095 ns/op
SecondarySupersLookup.testPositive10 avgt 15 20.135 ± 0.102 ns/op
SecondarySupersLookup.testPositive16 avgt 15 20.135 ± 0.118 ns/op
SecondarySupersLookup.testPositive20 avgt 15 20.128 ± 0.110 ns/op
SecondarySupersLookup.testPositive30 avgt 15 20.322 ± 0.455 ns/op
SecondarySupersLookup.testPositive32 avgt 15 20.130 ± 0.105 ns/op
SecondarySupersLookup.testPositive40 avgt 15 20.138 ± 0.111 ns/op
SecondarySupersLookup.testPositive50 avgt 15 20.135 ± 0.113 ns/op
SecondarySupersLookup.testPositive60 avgt 15 20.138 ± 0.099 ns/op
SecondarySupersLookup.testPositive63 avgt 15 20.335 ± 0.460 ns/op
SecondarySupersLookup.testPositive64 avgt 15 20.139 ± 0.105 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
With patch and set warmup to 10 iterations
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 20.584 ± 0.041 ns/op
SecondarySupersLookup.testNegative01 avgt 15 20.607 ± 0.059 ns/op
SecondarySupersLookup.testNegative02 avgt 15 20.586 ± 0.034 ns/op
SecondarySupersLookup.testNegative03 avgt 15 20.601 ± 0.086 ns/op
SecondarySupersLookup.testNegative04 avgt 15 20.795 ± 0.452 ns/op
SecondarySupersLookup.testNegative05 avgt 15 20.579 ± 0.042 ns/op
SecondarySupersLookup.testNegative06 avgt 15 20.587 ± 0.033 ns/op
SecondarySupersLookup.testNegative07 avgt 15 20.594 ± 0.053 ns/op
SecondarySupersLookup.testNegative08 avgt 15 20.815 ± 0.451 ns/op
SecondarySupersLookup.testNegative09 avgt 15 20.571 ± 0.042 ns/op
SecondarySupersLookup.testNegative10 avgt 15 20.577 ± 0.035 ns/op
SecondarySupersLookup.testNegative16 avgt 15 20.773 ± 0.442 ns/op
SecondarySupersLookup.testNegative20 avgt 15 20.585 ± 0.046 ns/op
SecondarySupersLookup.testNegative30 avgt 15 20.780 ± 0.444 ns/op
SecondarySupersLookup.testNegative32 avgt 15 20.591 ± 0.039 ns/op
SecondarySupersLookup.testNegative40 avgt 15 20.581 ± 0.030 ns/op
SecondarySupersLookup.testNegative50 avgt 15 20.579 ± 0.034 ns/op
SecondarySupersLookup.testNegative55 avgt 15 119.795 ± 4.727 ns/op
SecondarySupersLookup.testNegative56 avgt 15 120.976 ± 4.602 ns/op
SecondarySupersLookup.testNegative57 avgt 15 124.057 ± 4.196 ns/op
SecondarySupersLookup.testNegative58 avgt 15 121.156 ± 3.756 ns/op
SecondarySupersLookup.testNegative59 avgt 15 126.792 ± 1.566 ns/op
SecondarySupersLookup.testNegative60 avgt 15 151.713 ± 3.150 ns/op
SecondarySupersLookup.testNegative61 avgt 15 151.494 ± 2.852 ns/op
SecondarySupersLookup.testNegative62 avgt 15 155.028 ± 2.996 ns/op
SecondarySupersLookup.testNegative63 avgt 15 211.724 ± 1.745 ns/op
SecondarySupersLookup.testNegative64 avgt 15 212.431 ± 1.077 ns/op
SecondarySupersLookup.testPositive01 avgt 15 20.074 ± 0.034 ns/op
SecondarySupersLookup.testPositive02 avgt 15 20.089 ± 0.037 ns/op
SecondarySupersLookup.testPositive03 avgt 15 20.086 ± 0.049 ns/op
SecondarySupersLookup.testPositive04 avgt 15 20.279 ± 0.434 ns/op
SecondarySupersLookup.testPositive05 avgt 15 20.090 ± 0.044 ns/op
SecondarySupersLookup.testPositive06 avgt 15 20.084 ± 0.038 ns/op
SecondarySupersLookup.testPositive07 avgt 15 20.281 ± 0.450 ns/op
SecondarySupersLookup.testPositive08 avgt 15 20.091 ± 0.047 ns/op
SecondarySupersLookup.testPositive09 avgt 15 20.083 ± 0.051 ns/op
SecondarySupersLookup.testPositive10 avgt 15 20.282 ± 0.454 ns/op
SecondarySupersLookup.testPositive16 avgt 15 20.086 ± 0.044 ns/op
SecondarySupersLookup.testPositive20 avgt 15 20.069 ± 0.026 ns/op
SecondarySupersLookup.testPositive30 avgt 15 20.285 ± 0.444 ns/op
SecondarySupersLookup.testPositive32 avgt 15 20.314 ± 0.450 ns/op
SecondarySupersLookup.testPositive40 avgt 15 20.089 ± 0.035 ns/op
SecondarySupersLookup.testPositive50 avgt 15 20.091 ± 0.042 ns/op
SecondarySupersLookup.testPositive60 avgt 15 20.090 ± 0.051 ns/op
SecondarySupersLookup.testPositive63 avgt 15 20.084 ± 0.047 ns/op
SecondarySupersLookup.testPositive64 avgt 15 20.284 ± 0.451 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
JMH tested on SOPHON SG2042 (has not Zbb) and use -XX:-UseSecondarySupersCache to disable UseSecondarySupersCache
Original(not with patch):
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 21.655 ± 0.131 ns/op
SecondarySupersLookup.testNegative01 avgt 15 22.739 ± 0.174 ns/op
SecondarySupersLookup.testNegative02 avgt 15 23.670 ± 0.116 ns/op
SecondarySupersLookup.testNegative03 avgt 15 24.674 ± 0.162 ns/op
SecondarySupersLookup.testNegative04 avgt 15 25.661 ± 0.125 ns/op
SecondarySupersLookup.testNegative05 avgt 15 26.683 ± 0.136 ns/op
SecondarySupersLookup.testNegative06 avgt 15 27.871 ± 0.461 ns/op
SecondarySupersLookup.testNegative07 avgt 15 28.669 ± 0.133 ns/op
SecondarySupersLookup.testNegative08 avgt 15 29.705 ± 0.155 ns/op
SecondarySupersLookup.testNegative09 avgt 15 46.543 ± 2.841 ns/op
SecondarySupersLookup.testNegative10 avgt 15 31.702 ± 0.157 ns/op
SecondarySupersLookup.testNegative16 avgt 15 58.564 ± 1.906 ns/op
SecondarySupersLookup.testNegative20 avgt 15 54.193 ± 2.378 ns/op
SecondarySupersLookup.testNegative30 avgt 15 66.840 ± 6.458 ns/op
SecondarySupersLookup.testNegative32 avgt 15 70.205 ± 6.984 ns/op
SecondarySupersLookup.testNegative40 avgt 15 83.552 ± 9.081 ns/op
SecondarySupersLookup.testNegative50 avgt 15 100.477 ± 11.709 ns/op
SecondarySupersLookup.testNegative55 avgt 15 108.599 ± 13.016 ns/op
SecondarySupersLookup.testNegative56 avgt 15 110.320 ± 13.335 ns/op
SecondarySupersLookup.testNegative57 avgt 15 112.058 ± 13.553 ns/op
SecondarySupersLookup.testNegative58 avgt 15 113.837 ± 13.766 ns/op
SecondarySupersLookup.testNegative59 avgt 15 115.353 ± 14.075 ns/op
SecondarySupersLookup.testNegative60 avgt 15 117.174 ± 14.268 ns/op
SecondarySupersLookup.testNegative61 avgt 15 118.633 ± 14.570 ns/op
SecondarySupersLookup.testNegative62 avgt 15 120.310 ± 14.772 ns/op
SecondarySupersLookup.testNegative63 avgt 15 122.178 ± 15.065 ns/op
SecondarySupersLookup.testNegative64 avgt 15 123.633 ± 15.321 ns/op
SecondarySupersLookup.testPositive01 avgt 15 22.652 ± 0.122 ns/op
SecondarySupersLookup.testPositive02 avgt 15 23.845 ± 0.474 ns/op
SecondarySupersLookup.testPositive03 avgt 15 24.649 ± 0.101 ns/op
SecondarySupersLookup.testPositive04 avgt 15 25.648 ± 0.114 ns/op
SecondarySupersLookup.testPositive05 avgt 15 26.838 ± 0.454 ns/op
SecondarySupersLookup.testPositive06 avgt 15 27.857 ± 0.439 ns/op
SecondarySupersLookup.testPositive07 avgt 15 28.885 ± 0.460 ns/op
SecondarySupersLookup.testPositive08 avgt 15 29.672 ± 0.125 ns/op
SecondarySupersLookup.testPositive09 avgt 15 30.696 ± 0.110 ns/op
SecondarySupersLookup.testPositive10 avgt 15 31.856 ± 0.446 ns/op
SecondarySupersLookup.testPositive16 avgt 15 59.366 ± 1.918 ns/op
SecondarySupersLookup.testPositive20 avgt 15 54.020 ± 0.517 ns/op
SecondarySupersLookup.testPositive30 avgt 15 68.943 ± 6.791 ns/op
SecondarySupersLookup.testPositive32 avgt 15 70.269 ± 6.151 ns/op
SecondarySupersLookup.testPositive40 avgt 15 83.555 ± 7.987 ns/op
SecondarySupersLookup.testPositive50 avgt 15 99.817 ± 10.157 ns/op
SecondarySupersLookup.testPositive60 avgt 15 116.173 ± 11.984 ns/op
SecondarySupersLookup.testPositive63 avgt 15 120.997 ± 12.620 ns/op
SecondarySupersLookup.testPositive64 avgt 15 122.597 ± 12.695 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
With patch
Benchmark Mode Cnt Score Error Units [9/1814]
SecondarySupersLookup.testNegative00 avgt 15 20.140 ± 0.129 ns/op
SecondarySupersLookup.testNegative01 avgt 15 20.155 ± 0.127 ns/op
SecondarySupersLookup.testNegative02 avgt 15 20.142 ± 0.116 ns/op
SecondarySupersLookup.testNegative03 avgt 15 20.137 ± 0.111 ns/op
SecondarySupersLookup.testNegative04 avgt 15 20.171 ± 0.125 ns/op
SecondarySupersLookup.testNegative05 avgt 15 20.148 ± 0.112 ns/op
SecondarySupersLookup.testNegative06 avgt 15 20.148 ± 0.137 ns/op
SecondarySupersLookup.testNegative07 avgt 15 20.544 ± 0.563 ns/op
SecondarySupersLookup.testNegative08 avgt 15 20.345 ± 0.462 ns/op
SecondarySupersLookup.testNegative09 avgt 15 20.360 ± 0.453 ns/op
SecondarySupersLookup.testNegative10 avgt 15 20.342 ± 0.458 ns/op
SecondarySupersLookup.testNegative16 avgt 15 20.160 ± 0.152 ns/op
SecondarySupersLookup.testNegative20 avgt 15 20.366 ± 0.477 ns/op
SecondarySupersLookup.testNegative30 avgt 15 20.360 ± 0.470 ns/op
SecondarySupersLookup.testNegative32 avgt 15 20.178 ± 0.155 ns/op
SecondarySupersLookup.testNegative40 avgt 15 20.173 ± 0.173 ns/op
SecondarySupersLookup.testNegative50 avgt 15 20.191 ± 0.181 ns/op
SecondarySupersLookup.testNegative55 avgt 15 116.033 ± 1.852 ns/op
SecondarySupersLookup.testNegative56 avgt 15 117.699 ± 2.857 ns/op
SecondarySupersLookup.testNegative57 avgt 15 118.839 ± 1.786 ns/op
SecondarySupersLookup.testNegative58 avgt 15 120.219 ± 3.305 ns/op
SecondarySupersLookup.testNegative59 avgt 15 122.110 ± 3.362 ns/op
SecondarySupersLookup.testNegative60 avgt 15 148.384 ± 3.282 ns/op
SecondarySupersLookup.testNegative61 avgt 15 149.934 ± 2.935 ns/op
SecondarySupersLookup.testNegative62 avgt 15 149.537 ± 1.754 ns/op
SecondarySupersLookup.testNegative63 avgt 15 210.797 ± 1.352 ns/op
SecondarySupersLookup.testNegative64 avgt 15 212.224 ± 1.642 ns/op
SecondarySupersLookup.testPositive01 avgt 15 24.010 ± 0.138 ns/op
SecondarySupersLookup.testPositive02 avgt 15 23.137 ± 0.110 ns/op
SecondarySupersLookup.testPositive03 avgt 15 26.117 ± 0.474 ns/op
SecondarySupersLookup.testPositive04 avgt 15 25.814 ± 0.606 ns/op
SecondarySupersLookup.testPositive05 avgt 15 23.353 ± 0.496 ns/op
SecondarySupersLookup.testPositive06 avgt 15 30.559 ± 1.957 ns/op
SecondarySupersLookup.testPositive07 avgt 15 26.078 ± 0.411 ns/op
SecondarySupersLookup.testPositive08 avgt 15 36.190 ± 4.512 ns/op
SecondarySupersLookup.testPositive09 avgt 15 31.033 ± 1.767 ns/op
SecondarySupersLookup.testPositive10 avgt 15 24.724 ± 0.397 ns/op
SecondarySupersLookup.testPositive16 avgt 15 41.952 ± 3.365 ns/op
SecondarySupersLookup.testPositive20 avgt 15 32.843 ± 3.088 ns/op
SecondarySupersLookup.testPositive30 avgt 15 40.470 ± 2.166 ns/op
SecondarySupersLookup.testPositive32 avgt 15 70.726 ± 3.383 ns/op
SecondarySupersLookup.testPositive40 avgt 15 76.331 ± 4.519 ns/op
SecondarySupersLookup.testPositive50 avgt 15 73.510 ± 1.509 ns/op
SecondarySupersLookup.testPositive60 avgt 15 112.032 ± 2.564 ns/op
SecondarySupersLookup.testPositive63 avgt 15 215.567 ± 18.732 ns/op
SecondarySupersLookup.testPositive64 avgt 15 168.949 ± 2.979 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
With patch and set warmup to 10 iterations
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 20.485 ± 0.543 ns/op
SecondarySupersLookup.testNegative01 avgt 15 20.103 ± 0.050 ns/op
SecondarySupersLookup.testNegative02 avgt 15 20.081 ± 0.034 ns/op
SecondarySupersLookup.testNegative03 avgt 15 20.087 ± 0.042 ns/op
SecondarySupersLookup.testNegative04 avgt 15 20.077 ± 0.034 ns/op
SecondarySupersLookup.testNegative05 avgt 15 20.085 ± 0.031 ns/op
SecondarySupersLookup.testNegative06 avgt 15 20.273 ± 0.449 ns/op
SecondarySupersLookup.testNegative07 avgt 15 20.076 ± 0.042 ns/op
SecondarySupersLookup.testNegative08 avgt 15 20.081 ± 0.041 ns/op
SecondarySupersLookup.testNegative09 avgt 15 20.095 ± 0.052 ns/op
SecondarySupersLookup.testNegative10 avgt 15 20.281 ± 0.442 ns/op
SecondarySupersLookup.testNegative16 avgt 15 20.085 ± 0.036 ns/op
SecondarySupersLookup.testNegative20 avgt 15 20.096 ± 0.052 ns/op
SecondarySupersLookup.testNegative30 avgt 15 20.075 ± 0.032 ns/op
SecondarySupersLookup.testNegative32 avgt 15 20.091 ± 0.047 ns/op
SecondarySupersLookup.testNegative40 avgt 15 20.078 ± 0.027 ns/op
SecondarySupersLookup.testNegative50 avgt 15 20.082 ± 0.039 ns/op
SecondarySupersLookup.testNegative55 avgt 15 115.646 ± 2.057 ns/op
SecondarySupersLookup.testNegative56 avgt 15 117.470 ± 1.702 ns/op
SecondarySupersLookup.testNegative57 avgt 15 119.403 ± 2.837 ns/op
SecondarySupersLookup.testNegative58 avgt 15 120.050 ± 3.097 ns/op
SecondarySupersLookup.testNegative59 avgt 15 121.112 ± 3.306 ns/op
SecondarySupersLookup.testNegative60 avgt 15 148.076 ± 1.812 ns/op
SecondarySupersLookup.testNegative61 avgt 15 150.464 ± 3.034 ns/op
SecondarySupersLookup.testNegative62 avgt 15 150.514 ± 2.516 ns/op
SecondarySupersLookup.testNegative63 avgt 15 211.773 ± 1.382 ns/op
SecondarySupersLookup.testNegative64 avgt 15 212.451 ± 2.154 ns/op
SecondarySupersLookup.testPositive01 avgt 15 23.950 ± 0.118 ns/op
SecondarySupersLookup.testPositive02 avgt 15 23.080 ± 0.033 ns/op
SecondarySupersLookup.testPositive03 avgt 15 26.222 ± 0.457 ns/op
SecondarySupersLookup.testPositive04 avgt 15 25.841 ± 0.525 ns/op
SecondarySupersLookup.testPositive05 avgt 15 23.097 ± 0.059 ns/op
SecondarySupersLookup.testPositive06 avgt 15 31.586 ± 2.145 ns/op
SecondarySupersLookup.testPositive07 avgt 15 26.271 ± 0.567 ns/op
SecondarySupersLookup.testPositive08 avgt 15 33.403 ± 0.255 ns/op
SecondarySupersLookup.testPositive09 avgt 15 32.042 ± 2.643 ns/op
SecondarySupersLookup.testPositive10 avgt 15 24.276 ± 0.104 ns/op
SecondarySupersLookup.testPositive16 avgt 15 40.799 ± 0.489 ns/op
SecondarySupersLookup.testPositive20 avgt 15 35.114 ± 4.011 ns/op
SecondarySupersLookup.testPositive30 avgt 15 42.361 ± 2.791 ns/op
SecondarySupersLookup.testPositive32 avgt 15 67.847 ± 0.689 ns/op
SecondarySupersLookup.testPositive40 avgt 15 73.685 ± 1.336 ns/op
SecondarySupersLookup.testPositive50 avgt 15 72.951 ± 0.548 ns/op
SecondarySupersLookup.testPositive60 avgt 15 111.593 ± 3.444 ns/op
SecondarySupersLookup.testPositive63 avgt 15 203.572 ± 2.176 ns/op
SecondarySupersLookup.testPositive64 avgt 15 168.671 ± 0.581 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
With the jmh test data, we see that there is a performance decrease from testNegative55 to testNegative64 when zbb is not available. This is because a loop is needed to count the number of 1 when Zbb is not available. I've tested this before on Banana Pi BPI-F3 board (has Zbb) and Disable UseZbb to using scalar registers as well, with similar data. When Zbb is available, the test data is better in all test cases except testNegative63, testNegative64. So the performance decrease here compared to when using Zbb is caused by the number of 1's counted using the scalar register loop.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19320#discussion_r1646528616
More information about the hotspot-dev
mailing list