RFR: 8210416: [linux] Poor StrictMath performance due to non-optimized compilation

Severin Gehwolf sgehwolf at redhat.com
Wed Sep 5 13:12:25 UTC 2018


Cross-posting this review-thread on core-libs-dev and build-dev as this
is a build change, but affects fdlibm which is core-libs.

With JDK-8170153 optimization for fdlibm code has been turned on for
ppc64 s390 and aarch64. This patch intends to turn it on on all arches
on Linux. I've not observed any precision issues. Is there a good
reason to not use -O3 -ffp-contract=off everywhere?

Bug:    https://bugs.openjdk.java.net/browse/JDK-8210416
webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8210416/webrev.01/

Testing: - java/lang/Math, java/lang/StrictMath tests (all pass).
         - Currently running through submit repo.

A simple micro benchmark from JDK-8170153[1] shows these numbers for

Function      | before     | after
sin           | 0m33.382s  | 0m18.731s
cos           | 0m31.562s  | 0m18.796s
tan           | 0m33.657s  | 0m21.093s
atan          | 0m5.714s   | 0m4.902s
log           | 0m6.212s   | 0m4.439s
log10         | 0m7.946s   | 0m5.543s
sqrt          | 0m0.481s   | 0m0.449s
cbrt          | 0m5.295s   | 0m5.214s
tanh          | 0m1.404s   | 0m1.307s
log1p         | 0m6.457s   | 0m5.131s
IEEEremainder | 0m10.629s  | 0m6.048s
atan2         | 0m8.037s   | 0m5.668s
hypot         | 0m2.171s   | 0m2.147s



More information about the core-libs-dev mailing list