On Mon, 11 Aug 2025 15:49:55 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:
>> Some results: >> >> | Features | Time1 (s) | Time2 (s) | Change (s) | >> |---------------------------------|----------|----------|-------------| >> | epsilongc | 490.77 | 489.50 | 1.27 | >> | epsilongc cds | 546.27 | 537.91 | 8.36 | >> | epsilongc compiler1 | 547.87 | 539.86 | 8.01 | >> | epsilongc compiler2 | 785.18 | 735.13 | 50.05 | >> | g1gc | 682.44 | 666.40 | 16.04 | >> | epsilongc services | 510.22 | 504.68 | 5.54 | >> | epsilongc services jfr | 675.49 | 636.87 | 38.62 | >> | epsilongc jni-check | 499.53 | 493.72 | 5.81 | >> | epsilongc compiler1 jvmci | 589.74 | 591.32 | -1.58 | >> | epsilongc compiler2 jvmci | 852.46 | 806.35 | 46.11 | >> | epsilongc services jvmti | 567.67 | 561.73 | 5.94 | >> | epsilongc link-time-opt | 535.96 | 526.00 | 9.97 | >> | epsilongc management | 508.63 | 504.53 | 4.10 | >> | epsilongc opt-size | 507.03 | 498.58 | 8.45 | >> | parallelgc | 525.78 | 517.38 | 8.40 | >> | serialgc | 512.59 | 511.88 | 0.71 | >> | shenandoahgc | 739.44 | 722.72 | 16.72 | >> | zgc | 681.20 | 672.28 | 8.92 | >> >> - `Time1` is the time (sys+user) it takes to complete `make -h hotspot` with >> the precompiled headers in be25d3413b432b56e9789eae55920f1862008911 (>=400 >> includes in a `custom` build) >> - `Time2`: same as `Time1`, with the precompiled headers having >=400 >> includes in a `custom` build with all features in the first column >> >> So, the third column measures how much we improve by taking new precompiled >> headers due to a specific features. I'd say the following are worth keeping >> behind an include guard: >> - `cds` >> - `compiler1` >> - `compiler2` >> - `g1gc` >> - `services` >> - `jfr` ==> `services` (#26723) >> - `jni-check` >> - `link-time-opt` >> - `opt-size` >> - `parallelgc` >> - `shenandoahgc` >> - `zgc` > >> * `link-time-opt` >> >> * `opt-size` > > I thought these should not really affect the set of files compiled (or > included, which is what matters here)? That's right @magicus, I rerun the script and I got only a `1.86s` improvements for `link-time-opt`. I checked the includes in `precompiled.hpp` and indeed nothing changes when the analyzer runs on a build with `link-time-opt`. So, exactly the same build, just different build times. That's most likely noise. I'd say, as a criteria we could use is: - Improvement > 10s (unlikely to be noise, but still possible) - new headers added to `precompiled.hpp` is not empty ------------- PR Comment: https://git.openjdk.org/jdk/pull/26681#issuecomment-3175758710