Report per-phase JVM statistics (e.g cpu time, user time, allocated bytes)#5758
Report per-phase JVM statistics (e.g cpu time, user time, allocated bytes)#5758mkeskells wants to merge 3 commits intoscala:2.12.xfrom
Conversation
|
I've tried to use the So far, so good. The partial performance snapshot contains is limited to the typer phase. But the I think this is important, because to get useful data out of this, it would be best to run the compiler in a loop, each time collecting some more samples for the part we're focussed on. Assuming we get to the bottom of this, I really like the approach of using YourKit's own config to turn the profiling on and off, rather than trying to drive it with the YourKit API. We've tried that before, but it adds unwanted complexity to our build. |
|
I've suggested a few code style fixes in e90b7de...retronym:review/5758 |
|
@retronym code style changes look good to me - can we include them in this PR, or seperate |
|
Yes, please incorporate my commit into this PR. While you're rebasing this, it would be good to improve the commit comment for the first commit. If you'd prefer, I'm also happy to submit a new PR with all that done. EDIT: I've submitted that PR in #5760, I'll close this one. |
add some profiling support to scalac
This adds a few -Yprofile... options that assist in profiling scalac
This has proved useful so far in https://github.com/rorygraves/scalac_perf for identification of opportunities for optimisation
The output can be generated to a console, or a CSV.
This could enable the generation of CI tasks that error if some indicator goes out of bounds, but that is outside the scope of this PR.
console output is in the form