RFR: 8302191: Performance degradation for float/double modulo on Linux

Jan Kratochvil duke at openjdk.org
Wed Feb 15 14:19:15 UTC 2023


On Fri, 10 Feb 2023 09:06:56 GMT, Jan Kratochvil <duke at openjdk.org> wrote:

> I have OCA already processed/approved. I am not Author but my Author request is being processed these days (sent to Rob McKenna).
> I did regression test x86_64 OpenJDK-8. I will leave other regression testing on GHA.
> The patch (and former GCC performance regression) affects only x86_64+i686.

> To ascertain (b) it would be good to see the DivisionDemo reformulated as a [JMH](https://github.com/openjdk/jmh) benchmark.

https://github.com/openjdk/jmh-jdk-microbenchmarks/compare/master...jankratochvil:jmh-jdk-microbenchmarks:java?expand=1

`java -jar target/micros-jdk8-1.0-SNAPSHOT.jar org.openjdk.bench.java.lang.FloatDoubleRem -i 2 -r 2 -wi 2 -f 2`

unpatched dd15d306a68caa02659dd95d16b71d0f1a437bc6:

Benchmark                            Mode  Cnt   Score   Error  Units
FloatDoubleRem.calcDoubleJava        avgt    4  79.259 ± 1.466  ns/op
FloatDoubleRem.calcFloatJava         avgt    4  79.582 ± 0.617  ns/op
FloatDoubleRem.cornercaseDoubleJava  avgt    4   9.660 ± 0.213  ns/op
FloatDoubleRem.cornercaseFloatJava   avgt    4   9.629 ± 1.099  ns/op

patched dd15d306a68caa02659dd95d16b71d0f1a437bc6:

Benchmark                            Mode  Cnt   Score   Error  Units
FloatDoubleRem.calcDoubleJava        avgt    4  10.211 ± 1.982  ns/op
FloatDoubleRem.calcFloatJava         avgt    4  10.303 ± 1.325  ns/op
FloatDoubleRem.cornercaseDoubleJava  avgt    4   9.712 ± 0.565  ns/op
FloatDoubleRem.cornercaseFloatJava   avgt    4   9.694 ± 0.419  ns/op

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

PR: https://git.openjdk.org/jdk/pull/12508


More information about the hotspot-dev mailing list