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