-
-
Notifications
You must be signed in to change notification settings - Fork 33.1k
gh-138050: [WIP] JIT - Streamline MAKE_WARM - move coldness check to executor creation #138240
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
base: main
Are you sure you want to change the base?
Conversation
Hey - thanks for looking into this! Hmm, I'm unsure about this approach as moving the counter from @markshannon - I understand the motivation from #138050, but could you clarify: is the counter decrement/check measurably expensive, or is this more of a "nice to have" simplification? Of course, we should benchmark this to understand the implications, though! |
@savannahostrowski Yes it is expensive. Full answer |
Regarding benchmarking, in this case I don't think we do, at least not for time. The generated machine code is clearly better, and the cost added to the optimiser is effectively zero: Each trace is run 100k times on average according to our stats. I'll inclined to merge this, and come back to managing memory use when the JIT has the new tracing front-end and optimizer is more complete. |
@alonme do you want to make this not a draft? |
@savannahostrowski thanks for the review! @markshannon done! |
If you think you can tune it now, go ahead. But we will need to retune it once we've made our planned changes to the optimizer, so tuning it right now isn't that important. |
I will only be next to a computer in a week, so if it's not a must - let's go ahead |
@markshannon Thanks for elaborating.
This sounds reasonable to me. |
@savannahostrowski @markshannon |
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.
Based on the earlier conversation, I think this looks good.
MAKE_WARM
micro-op #138050Hey @markshannon!
I am not sure if this is what you meant by "perhaps in the jit itself", however it made sense to me to cleanup when more executors are created - so that we can keep the amount of executors reasonable.
Also - I'm unsure if this is the best point to perform the check during this process.
I had another idea of moving the check to
ENTER_EXECUTOR
, which is less frequent thanMAKE_WARM
- would that be a better point to perform the check?