-
Sub-task
-
Resolution: Unresolved
-
P4
-
24
-
riscv
( NOTE: There is no intrinsic for Long.min/max(long, long). )
From the test below, it shows intrinsic does not bring performance regression when zbb is not supported.
For non-zbb version, which solution is better? supply intrinsic or JIT itself?
Anyway, it worth to add jmh tests for these intrinsic.
## all tests running below with rvv disabled.
## tested on K230-CanMV
1. -XX:+UseZbb
o.o.b.j.lang.Integers.maxConst N/A 500 avgt 5 902.362 ± 254.289 ns/op
o.o.b.j.lang.Integers.maxVar N/A 500 avgt 5 916.298 ± 254.760 ns/op
o.o.b.j.lang.Integers.minConst N/A 500 avgt 5 913.107 ± 217.651 ns/op
o.o.b.j.lang.Integers.minVar N/A 500 avgt 5 919.201 ± 236.621 ns/op
2. -XX:-UseZbb
o.o.b.j.lang.Integers.maxConst N/A 500 avgt 5 1347.011 ± 476.472 ns/op
o.o.b.j.lang.Integers.maxVar N/A 500 avgt 5 1355.884 ± 408.596 ns/op
o.o.b.j.lang.Integers.minConst N/A 500 avgt 5 1329.742 ± 507.717 ns/op
o.o.b.j.lang.Integers.minVar N/A 500 avgt 5 1081.708 ± 249.129 ns/op
3. -XX:-UseZbb, and disable MinI/MaxI instrinsic
o.o.b.j.lang.Integers.maxConst N/A 500 avgt 5 1350.259 ± 338.675 ns/op
o.o.b.j.lang.Integers.maxVar N/A 500 avgt 5 1353.236 ± 365.620 ns/op
o.o.b.j.lang.Integers.minConst N/A 500 avgt 5 1332.186 ± 482.601 ns/op
o.o.b.j.lang.Integers.minVar N/A 500 avgt 5 1067.797 ± 291.745 ns/op
From the test below, it shows intrinsic does not bring performance regression when zbb is not supported.
For non-zbb version, which solution is better? supply intrinsic or JIT itself?
Anyway, it worth to add jmh tests for these intrinsic.
## all tests running below with rvv disabled.
## tested on K230-CanMV
1. -XX:+UseZbb
o.o.b.j.lang.Integers.maxConst N/A 500 avgt 5 902.362 ± 254.289 ns/op
o.o.b.j.lang.Integers.maxVar N/A 500 avgt 5 916.298 ± 254.760 ns/op
o.o.b.j.lang.Integers.minConst N/A 500 avgt 5 913.107 ± 217.651 ns/op
o.o.b.j.lang.Integers.minVar N/A 500 avgt 5 919.201 ± 236.621 ns/op
2. -XX:-UseZbb
o.o.b.j.lang.Integers.maxConst N/A 500 avgt 5 1347.011 ± 476.472 ns/op
o.o.b.j.lang.Integers.maxVar N/A 500 avgt 5 1355.884 ± 408.596 ns/op
o.o.b.j.lang.Integers.minConst N/A 500 avgt 5 1329.742 ± 507.717 ns/op
o.o.b.j.lang.Integers.minVar N/A 500 avgt 5 1081.708 ± 249.129 ns/op
3. -XX:-UseZbb, and disable MinI/MaxI instrinsic
o.o.b.j.lang.Integers.maxConst N/A 500 avgt 5 1350.259 ± 338.675 ns/op
o.o.b.j.lang.Integers.maxVar N/A 500 avgt 5 1353.236 ± 365.620 ns/op
o.o.b.j.lang.Integers.minConst N/A 500 avgt 5 1332.186 ± 482.601 ns/op
o.o.b.j.lang.Integers.minVar N/A 500 avgt 5 1067.797 ± 291.745 ns/op
- relates to
-
JDK-8334723 RISC-V: minL/maxL
- Open