On Mon, 25 Aug 2025 13:04:14 GMT, Francesco Andreuzzi <[email protected]> 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

The new PCH file is surprisingly short. But we should trust the performance 
measurements, and this seems to be much better than the existing file. It might 
be an indication that gcc/clang have improved in performance for non-PCH 
headers. If you are up to it, it would be interesting to have a comparison run 
on your test platforms for running without PCH. You don't have to retest 
everything you ran, but just some representative selection perhaps? It's not 
relevant to this PR, but more to the general discussion of how relevant it is 
to keep PCH at all.

Apart from that, I still share Kim's worry that the platform with the most 
potential impact is Windows, and we have no numbers at all there. Can you 
arrange to test so we at least to not have any regressions there? And also 
check how the performance changes if you also manually include the same set of 
`inline` files as is currently in the PCH.

But if that looks fine, then I guess this is ready for integration.

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

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

Reply via email to