RFR: 8356027: Print enhanced compilation timings
Aleksey Shipilev
shade at openjdk.org
Thu May 1 16:59:56 UTC 2025
In Leyden, we have the extended compilation timings printouts with -XX:+PrintCompilation / UL, that are very useful to study compiler dynamics. These timings include:
1. Time spent before queuing: shows the compilation queue bottlenecks
2. Time spent in the queue: shows delays caused by queue bottlenecks and compiler load
3. Time spent actually compiling: shows the per-method compilation costs
We should consider the same kind of printout for mainline. This would also require us to print the compilation task _after_ the compilation, not only before it. This improvement would also obviate any need for `PrintCompilation2` flag, [JDK-8356028](https://bugs.openjdk.org/browse/JDK-8356028).
The difference from the output format we ship in Leyden:
1. This output prints before/after the compilation to maintain old behavior partially. The "before" printout is now prepended with `started` to clearly mark it as such.
2. The output is raw number in microseconds. In Leyden repo, we have these prepended with characters, like `C0.1`, but that prepending makes it a bit inconvenient with scripts. This PR also does microseconds, instead of fractional milliseconds. This should be enough to capture the wide range of durations.
See the sample `-XX:+PrintCompilation` output in the comments.
Additional testing:
- [x] Linux x86_64 server fastdebug, `compiler`
- [ ] Linux x86_64 server fastdebug, `all`
-------------
Commit messages:
- More touchups
- Fix TypeProfileFinalMethod as well
- Fix inline tree printing
- Touchups
- Fix
Changes: https://git.openjdk.org/jdk/pull/24984/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24984&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8356027
Stats: 89 lines in 8 files changed: 57 ins; 6 del; 26 mod
Patch: https://git.openjdk.org/jdk/pull/24984.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24984/head:pull/24984
PR: https://git.openjdk.org/jdk/pull/24984
More information about the hotspot-dev
mailing list