-
Notifications
You must be signed in to change notification settings - Fork 5k
Add -repeatCount
in superpmi.exe to repeat method compilation
#94503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Passing `-repeatCount N` for some integer `N > 0` will compile each function `N` times. This is true for each function in the MCH file, by default, or each one specified by a `-c` argument or .mcl file. This can be used to help investigate the JIT throughput for compilation of a particular function or set of functions. This is based on dotnet#93417.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsPassing This can be used to help investigate the JIT throughput for compilation of a particular function or set of functions. This is based on #93417.
|
This is based on the work @kunalspathak investigated in #93417. I submitted it as a separate PR because it ended up so different. The most annoying part here was getting the progress report to make sense for the normal case as well as the Percent complete should actually be a little more accurate for the case of specified indexes without TOC, and TOC without specified indexes. |
@kunalspathak PTAL |
// InitJit already printed a failure message | ||
return (int)SpmiResult::JitFailedToInit; | ||
} | ||
SimpleTimer stInitJit; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that most of the changes starting here are because everything in the iter
loop was indented 4 spaces.
if (o.details != nullptr) | ||
// Write a progress message if necessary. | ||
const int progressInterval = 500; | ||
if ((jittedCount > 0) && (jittedCount % progressInterval == 0)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The progress output was moved to the end of the loop because it made all the progress output scenarios work better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The most annoying part here was getting the progress report to make sense for the normal case as well as the -c 1 -repeatCount 5000 case.
I think thats where I spent my energy to get it right., but your approach is more reasonable. Thanks!
What is TOC? |
Table of contents. We have a |
Passing
-repeatCount N
for some integerN > 0
will compile each functionN
times. This is true for each function in the MCH file, by default, or each one specified by a-c
argument or .mcl file.This can be used to help investigate the JIT throughput for compilation of a particular function or set of functions.
This is based on #93417.