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