RFR: 8365053: Refresh hotspot precompiled.hpp with headers based on current frequency [v14]

Magnus Ihse Bursie ihse at openjdk.org
Mon Aug 25 15:43:58 UTC 2025


On Mon, 25 Aug 2025 13:04:14 GMT, Francesco Andreuzzi <duke at 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 incrementally with two additional commits since the last revision:
> 
>  - nl
>  - move down

There seems to be two similar arguments to `-ftime-trace` for cl.exe:  `/Bt+` and `/d2cgsummary`, according to my quick web search. It is not clear to me if they list include times. (But they might be useful in trying to figure out why files are slow to compile.)

There is also https://github.com/microsoft/vcperf, which at a glance seems to give a lot of information. Not sure how hard it would be to integrate it into our build process, though...

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

PR Comment: https://git.openjdk.org/jdk/pull/26681#issuecomment-3220774191
PR Comment: https://git.openjdk.org/jdk/pull/26681#issuecomment-3220779644


More information about the hotspot-dev mailing list