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

Aleksey Shipilev shade at openjdk.org
Thu Aug 7 17:35:17 UTC 2025


On Thu, 7 Aug 2025 16:47:04 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

Also, maybe check in the generation script as well? I think a subfolder here would be fine: https://github.com/openjdk/jdk/tree/master/src/utils. It would be nice if the output of that script could be simply piped into `precompiled.hpp`, so we can use it later without extra work.

We can, technically, hook it up a similar way SortIncludes.java is currently done, but I think it is unnecessary at this point. In a perfect world we would not be needing precompiled headers. In less ideal world, having a jtreg test that warns us that a new popular header appeared, or that older header is not as popular anymore, would be handy. Again, this is something out of scope for this PR.

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

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


More information about the hotspot-dev mailing list