RFR: 8332587: RISC-V: secondary_super_cache does not scale well [v6]

Gui Cao gcao at openjdk.org
Sat Jun 15 06:59:12 UTC 2024


On Fri, 14 Jun 2024 13:48:16 GMT, Andrew Haley <aph at openjdk.org> wrote:

> It's worth running the "before" test with `-XX:-UseSecondarySupersCache`. This gives you a much better idea of the cost when you don't get any hit on the one-element secondary supers cache.

JMH tested on Banana Pi BPI-F3 board (has Zbb) and Enable UseZbb, and use `-XX:-UseSecondarySupersCache`  to disable `UseSecondarySupersCache`
Original(not with patch):

Benchmark                             Mode  Cnt    Score   Error  Units                     [81/1889]
SecondarySupersLookup.testNegative00  avgt   15   15.153 ± 0.219  ns/op
SecondarySupersLookup.testNegative01  avgt   15   17.029 ± 0.287  ns/op
SecondarySupersLookup.testNegative02  avgt   15   20.242 ± 0.353  ns/op
SecondarySupersLookup.testNegative03  avgt   15   23.737 ± 0.515  ns/op
SecondarySupersLookup.testNegative04  avgt   15   26.097 ± 0.477  ns/op
SecondarySupersLookup.testNegative05  avgt   15   28.460 ± 0.546  ns/op
SecondarySupersLookup.testNegative06  avgt   15   31.025 ± 0.622  ns/op
SecondarySupersLookup.testNegative07  avgt   15   32.070 ± 0.518  ns/op
SecondarySupersLookup.testNegative08  avgt   15   34.656 ± 0.586  ns/op
SecondarySupersLookup.testNegative09  avgt   15   36.140 ± 0.622  ns/op
SecondarySupersLookup.testNegative10  avgt   15   38.304 ± 0.577  ns/op
SecondarySupersLookup.testNegative16  avgt   15   49.672 ± 0.726  ns/op
SecondarySupersLookup.testNegative20  avgt   15   57.241 ± 0.709  ns/op
SecondarySupersLookup.testNegative30  avgt   15   76.189 ± 0.804  ns/op
SecondarySupersLookup.testNegative32  avgt   15   79.821 ± 0.809  ns/op
SecondarySupersLookup.testNegative40  avgt   15   95.006 ± 0.999  ns/op
SecondarySupersLookup.testNegative50  avgt   15  113.808 ± 0.933  ns/op
SecondarySupersLookup.testNegative55  avgt   15  122.897 ± 1.237  ns/op
SecondarySupersLookup.testNegative56  avgt   15  125.180 ± 1.005  ns/op
SecondarySupersLookup.testNegative57  avgt   15  126.606 ± 0.925  ns/op
SecondarySupersLookup.testNegative58  avgt   15  128.890 ± 0.809  ns/op
SecondarySupersLookup.testNegative59  avgt   15  130.382 ± 1.092  ns/op
SecondarySupersLookup.testNegative60  avgt   15  132.426 ± 1.045  ns/op
SecondarySupersLookup.testNegative61  avgt   15  133.953 ± 1.062  ns/op
SecondarySupersLookup.testNegative62  avgt   15  136.156 ± 0.974  ns/op
SecondarySupersLookup.testNegative63  avgt   15  137.958 ± 1.172  ns/op
SecondarySupersLookup.testNegative64  avgt   15  142.439 ± 4.703  ns/op
SecondarySupersLookup.testPositive01  avgt   15   17.030 ± 0.218  ns/op
SecondarySupersLookup.testPositive02  avgt   15   20.688 ± 0.793  ns/op
SecondarySupersLookup.testPositive03  avgt   15   24.253 ± 0.566  ns/op
SecondarySupersLookup.testPositive04  avgt   15   27.154 ± 0.495  ns/op
SecondarySupersLookup.testPositive05  avgt   15   28.596 ± 0.892  ns/op
SecondarySupersLookup.testPositive06  avgt   15   30.846 ± 0.304  ns/op
SecondarySupersLookup.testPositive07  avgt   15   32.960 ± 0.564  ns/op
SecondarySupersLookup.testPositive08  avgt   15   34.706 ± 0.377  ns/op
SecondarySupersLookup.testPositive09  avgt   15   36.615 ± 0.453  ns/op
SecondarySupersLookup.testPositive10  avgt   15   38.760 ± 0.462  ns/op
SecondarySupersLookup.testPositive16  avgt   15   49.848 ± 0.489  ns/op
SecondarySupersLookup.testPositive20  avgt   15   57.419 ± 0.467  ns/op
SecondarySupersLookup.testPositive30  avgt   15   76.303 ± 0.530  ns/op
SecondarySupersLookup.testPositive32  avgt   15   79.537 ± 0.323  ns/op
SecondarySupersLookup.testPositive40  avgt   15   94.493 ± 0.565  ns/op
SecondarySupersLookup.testPositive50  avgt   15  113.451 ± 1.932  ns/op
SecondarySupersLookup.testPositive60  avgt   15  133.233 ± 4.262  ns/op
SecondarySupersLookup.testPositive63  avgt   15  137.090 ± 2.027  ns/op
SecondarySupersLookup.testPositive64  avgt   15  138.784 ± 1.650  ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'


With patch

Benchmark                             Mode  Cnt    Score   Error  Units
SecondarySupersLookup.testNegative00  avgt   15   12.621 ± 0.172  ns/op
SecondarySupersLookup.testNegative01  avgt   15   12.614 ± 0.163  ns/op
SecondarySupersLookup.testNegative02  avgt   15   12.619 ± 0.169  ns/op
SecondarySupersLookup.testNegative03  avgt   15   12.621 ± 0.171  ns/op
SecondarySupersLookup.testNegative04  avgt   15   12.617 ± 0.167  ns/op
SecondarySupersLookup.testNegative05  avgt   15   12.618 ± 0.167  ns/op
SecondarySupersLookup.testNegative06  avgt   15   12.626 ± 0.180  ns/op
SecondarySupersLookup.testNegative07  avgt   15   12.621 ± 0.175  ns/op
SecondarySupersLookup.testNegative08  avgt   15   12.623 ± 0.176  ns/op
SecondarySupersLookup.testNegative09  avgt   15   12.626 ± 0.177  ns/op
SecondarySupersLookup.testNegative10  avgt   15   12.625 ± 0.181  ns/op
SecondarySupersLookup.testNegative16  avgt   15   12.625 ± 0.178  ns/op
SecondarySupersLookup.testNegative20  avgt   15   12.624 ± 0.178  ns/op
SecondarySupersLookup.testNegative30  avgt   15   12.635 ± 0.195  ns/op
SecondarySupersLookup.testNegative32  avgt   15   12.638 ± 0.200  ns/op
SecondarySupersLookup.testNegative40  avgt   15   12.644 ± 0.209  ns/op
SecondarySupersLookup.testNegative50  avgt   15   12.646 ± 0.212  ns/op
SecondarySupersLookup.testNegative55  avgt   15   51.029 ± 0.833  ns/op
SecondarySupersLookup.testNegative56  avgt   15   51.484 ± 1.074  ns/op
SecondarySupersLookup.testNegative57  avgt   15   51.170 ± 0.731  ns/op
SecondarySupersLookup.testNegative58  avgt   15   51.775 ± 1.573  ns/op
SecondarySupersLookup.testNegative59  avgt   15   51.000 ± 0.919  ns/op
SecondarySupersLookup.testNegative60  avgt   15   73.169 ± 0.950  ns/op
SecondarySupersLookup.testNegative61  avgt   15   73.537 ± 1.235  ns/op
SecondarySupersLookup.testNegative62  avgt   15   75.116 ± 4.232  ns/op
SecondarySupersLookup.testNegative63  avgt   15  153.908 ± 1.126  ns/op
SecondarySupersLookup.testNegative64  avgt   15  155.937 ± 1.101  ns/op
SecondarySupersLookup.testPositive01  avgt   15   17.656 ± 0.220  ns/op
SecondarySupersLookup.testPositive02  avgt   15   17.012 ± 0.192  ns/op
SecondarySupersLookup.testPositive03  avgt   15   17.643 ± 0.200  ns/op
SecondarySupersLookup.testPositive04  avgt   15   17.640 ± 0.196  ns/op
SecondarySupersLookup.testPositive05  avgt   15   17.018 ± 0.203  ns/op
SecondarySupersLookup.testPositive06  avgt   15   17.643 ± 0.201  ns/op
SecondarySupersLookup.testPositive07  avgt   15   17.648 ± 0.208  ns/op
SecondarySupersLookup.testPositive08  avgt   15   17.652 ± 0.214  ns/op
SecondarySupersLookup.testPositive09  avgt   15   17.650 ± 0.207  ns/op
SecondarySupersLookup.testPositive10  avgt   15   17.026 ± 0.213  ns/op
SecondarySupersLookup.testPositive16  avgt   15   17.649 ± 0.209  ns/op
SecondarySupersLookup.testPositive20  avgt   15   17.652 ± 0.216  ns/op
SecondarySupersLookup.testPositive30  avgt   15   37.097 ± 0.301  ns/op
SecondarySupersLookup.testPositive32  avgt   15   37.351 ± 0.459  ns/op
SecondarySupersLookup.testPositive40  avgt   15   42.951 ± 1.256  ns/op
SecondarySupersLookup.testPositive50  avgt   15   17.642 ± 0.194  ns/op
SecondarySupersLookup.testPositive60  avgt   15   37.099 ± 0.300  ns/op
SecondarySupersLookup.testPositive63  avgt   15  153.592 ± 6.942  ns/op
SecondarySupersLookup.testPositive64  avgt   15  153.214 ± 2.070  ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'


@theRealAph : Hi, Can you take a look? Thanks

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

PR Comment: https://git.openjdk.org/jdk/pull/19320#issuecomment-2169167629


More information about the hotspot-dev mailing list