RFR: 8322174: RISC-V: C2 VectorizedHashCode RVV Version [v22]

Yuri Gaevsky duke at openjdk.org
Wed Aug 6 20:12:58 UTC 2025


On Wed, 6 Aug 2025 17:02:50 GMT, Yuri Gaevsky <duke at openjdk.org> wrote:

>> The patch adds possibility to use RVV instructions for faster vectorizedHashCode calculations on RVV v1.0.0 capable hardware.
>> 
>> Testing: hotspot/jtreg/compiler/ under QEMU-8.1 with RVV v1.0.0.
>
> Yuri Gaevsky has updated the pull request incrementally with one additional commit since the last revision:
> 
>   try m1 for grouping

--- -XX:DisableIntrinsic=_vectorizedHashCode ---
Benchmark            (size)  Mode  Cnt      Score     Error  Units
ArraysHashCode.ints       1  avgt  100     11.276 ±   0.002  ns/op
ArraysHashCode.ints       5  avgt  100     28.939 ±   0.059  ns/op
ArraysHashCode.ints      10  avgt  100     41.163 ±   0.156  ns/op
ArraysHashCode.ints      20  avgt  100     68.272 ±   0.086  ns/op
ArraysHashCode.ints      30  avgt  100     88.366 ±   0.225  ns/op
ArraysHashCode.ints      40  avgt  100    115.092 ±   0.168  ns/op
ArraysHashCode.ints      50  avgt  100    135.669 ±   0.271  ns/op
ArraysHashCode.ints      60  avgt  100    162.028 ±   0.119  ns/op
ArraysHashCode.ints      70  avgt  100    170.395 ±   0.251  ns/op
ArraysHashCode.ints      80  avgt  100    194.108 ±   0.249  ns/op
ArraysHashCode.ints      90  avgt  100    208.031 ±   0.147  ns/op
ArraysHashCode.ints     100  avgt  100    232.727 ±   0.305  ns/op
ArraysHashCode.ints     200  avgt  100    447.927 ±   0.512  ns/op
ArraysHashCode.ints     300  avgt  100    655.105 ±   0.577  ns/op
ArraysHashCode.ints    1000  avgt  100   2143.301 ±   1.763  ns/op
ArraysHashCode.ints   10000  avgt  100  24249.479 ± 143.276  ns/op
--- -XX:-UseRVV ---
Benchmark            (size)  Mode  Cnt      Score      Error  Units
ArraysHashCode.ints       1  avgt  100     11.289 ±    0.010  ns/op
ArraysHashCode.ints       5  avgt  100     23.176 ±    0.005  ns/op
ArraysHashCode.ints      10  avgt  100     33.200 ±    0.030  ns/op
ArraysHashCode.ints      20  avgt  100     50.746 ±    0.024  ns/op
ArraysHashCode.ints      30  avgt  100     71.043 ±    0.132  ns/op
ArraysHashCode.ints      40  avgt  100     88.473 ±    0.080  ns/op
ArraysHashCode.ints      50  avgt  100    108.628 ±    0.100  ns/op
ArraysHashCode.ints      60  avgt  100    126.217 ±    0.263  ns/op
ArraysHashCode.ints      70  avgt  100    146.110 ±    0.087  ns/op
ArraysHashCode.ints      80  avgt  100    163.683 ±    0.111  ns/op
ArraysHashCode.ints      90  avgt  100    183.994 ±    0.324  ns/op
ArraysHashCode.ints     100  avgt  100    201.342 ±    0.162  ns/op
ArraysHashCode.ints     200  avgt  100    389.290 ±    0.254  ns/op
ArraysHashCode.ints     300  avgt  100    576.945 ±    0.114  ns/op
ArraysHashCode.ints    1000  avgt  100   1964.220 ±   50.893  ns/op
ArraysHashCode.ints   10000  avgt  100  21526.738 ± 1176.571  ns/op
--- -XX:+UseRVV ---
Benchmark            (size)  Mode  Cnt     Score    Error  Units
ArraysHashCode.ints       1  avgt  100    11.290 ±  0.010  ns/op
ArraysHashCode.ints       5  avgt  100    21.305 ±  0.011  ns/op
ArraysHashCode.ints      10  avgt  100    33.819 ±  0.004  ns/op
ArraysHashCode.ints      20  avgt  100    44.204 ±  0.117  ns/op
ArraysHashCode.ints      30  avgt  100    69.280 ±  0.121  ns/op
ArraysHashCode.ints      40  avgt  100    59.412 ±  0.222  ns/op
ArraysHashCode.ints      50  avgt  100    52.665 ±  0.360  ns/op
ArraysHashCode.ints      60  avgt  100    76.718 ±  0.382  ns/op
ArraysHashCode.ints      70  avgt  100    66.035 ±  0.516  ns/op
ArraysHashCode.ints      80  avgt  100    57.979 ±  0.440  ns/op
ArraysHashCode.ints      90  avgt  100    83.142 ±  0.447  ns/op
ArraysHashCode.ints     100  avgt  100    73.849 ±  0.438  ns/op
ArraysHashCode.ints     200  avgt  100   116.300 ±  1.336  ns/op
ArraysHashCode.ints     300  avgt  100   167.849 ±  2.394  ns/op
ArraysHashCode.ints    1000  avgt  100   402.079 ±  9.159  ns/op
ArraysHashCode.ints   10000  avgt  100  6200.543 ± 87.597  ns/op

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

PR Comment: https://git.openjdk.org/jdk/pull/17413#issuecomment-3161440566


More information about the hotspot-compiler-dev mailing list