Performance in one of the tests in the bimg_misc group is dropped by 20%(or 5%
of the group) after some unused code was removed from the libawt. I assume the
size of the lib became smaller and GCC heuristics were changed to do not try to
increase the size by inlining over some percent. I tested various options but
most of them affect different test cases in the opposite ways.
While testing I have found that the most profitable option is to simply use the
"O3" optimization level, moreover, after offline discussion, we have found that
this optimization level was used before, but due to the typo, we missed this
option and fallback to the "LOW" level.
Note this will change optimization level for all platforms in case of any
regressions we may try to implement this change for GGC only or we may try to
use just these options to solve this performance issue: " -ftree-loop-vectorize
-fversion-loops-for-strides "
Summary:
b12:
Number of tests: 13
Overall average: 1222067.1646119351
Best spread: 0.07% variance
Worst spread: 3.22% variance
(Basis for results comparison)
o3:
Number of tests: 13
Overall average: 1991716.540920269
Best spread: 0.0% variance
Worst spread: 2.22% variance
Comparison to basis:
Best result: 314.15% of basis
Worst result: 97.23% of basis
Number of wins: 8
Number of ties: 4
Number of losses: 1
two options:
Number of tests: 13
Overall average: 1971528.6542701898
Best spread: 0.0% variance
Worst spread: 7.08% variance
Comparison to basis:
Best result: 312.05% of basis
Worst result: 77.27% of basis
Number of wins: 6
Number of ties: 1
Number of losses: 6
-------------
Commit messages:
- Merge branch 'master' into JDK-8264846
- Merge branch 'master' into JDK-8264846
- Update Awt2dLibraries.gmk
- Update Awt2dLibraries.gmk
- Merge branch 'master' into JDK-8264846
- Update Awt2dLibraries.gmk
Changes: https://git.openjdk.java.net/jdk/pull/3990/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3990&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8264846
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/3990.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3990/head:pull/3990
PR: https://git.openjdk.java.net/jdk/pull/3990