On Mon, 25 Aug 2025 11:09:19 GMT, Francesco Andreuzzi <d...@openjdk.org> wrote:
>> In this PR I propose to refresh the included headers in hotspot >> `precompiled.hpp`. The current set of precompiled headers was refreshed in >> 2018, 7 years ago. I repeated the same operations and measurements after >> refreshing the set of precompiled headers according to the current usage >> frequency. >> >> These are the results I observed. Depending on the platform, the improvement >> is between 10 and 20% in terms of total work (user+sys). The results are in >> seconds. >> >> >> linux-x64 GCC >> master real 81.39 user 3352.15 sys 287.49 >> JDK-8365053 real 81.94 user 3030.24 sys 295.82 >> >> linux-x64 Clang >> master real 43.44 user 2082.93 sys 130.70 >> JDK-8365053 real 38.44 user 1723.80 sys 117.68 >> >> linux-aarch64 GCC >> master real 1188.08 user 2015.22 sys 175.53 >> JDK-8365053 real 1019.85 user 1667.45 sys 171.86 >> >> linux-aarch64 clang >> master real 981.77 user 1645.05 sys 118.60 >> JDK-8365053 real 791.96 user 1262.92 sys 101.50 > > Francesco Andreuzzi has updated the pull request with a new target base due > to a merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains 25 additional > commits since the last revision: > > - revert > - Merge branch 'master' into refresh-precompiled-hotspot > - comment > - nn > - conditional > - time-trace > - conditional includes > - variants > - magic number: 400 > - inline > - ... and 15 more: https://git.openjdk.org/jdk/compare/d3649fee...aea7c793 Oh, `-ftime-trace` is cute. Current PR still gives me considerable improvements on M1, I'd ballpark 15% faster Hotspot build. CONF=macosx-aarch64-server-fastdebug make clean hotspot # Before 1237.16s user 230.31s system 635% cpu 3:50.81 total 1239.11s user 233.62s system 643% cpu 3:48.88 total 1239.93s user 231.30s system 643% cpu 3:48.50 total # After 1064.64s user 206.11s system 624% cpu 3:23.34 total 1067.86s user 208.56s system 621% cpu 3:25.39 total 1065.11s user 208.03s system 597% cpu 3:33.21 total src/hotspot/share/precompiled/precompiled.hpp line 33: > 31: > 32: #include "classfile/javaClasses.inline.hpp" > 33: #if INCLUDE_SHENANDOAHGC So the common style is to move conditional includes at the end of the include block. I think the same rule applies here. ------------- PR Review: https://git.openjdk.org/jdk/pull/26681#pullrequestreview-3151331144 PR Review Comment: https://git.openjdk.org/jdk/pull/26681#discussion_r2298028288