-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
pystats: optimized_trace_length histogram includes exits #116808
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
Comments
Additionally, this hides data since the histogram maxes out at 8,192 (MAX_TRACE_LENGTH), and trace_length + exit_counts is frequently over that. |
The trace length historgrams should show lengths in number of uops, ignoring exits. |
Sure, I think it's also trivial to fix now (and restore to old behavior), by tracking these two things separately -- I mainly wanted to get your take on whether tracking them as a single number was intentional: allocate_executor() {
...
int size = exit_count*sizeof(_PyExitData) + length*sizeof(_PyUOpInstruction);
...
} But if it's easier merge-wise to do this following or as part of #116813, that also makes sense. |
I don't think it was intended. Tracking the size of the executor in bytes doesn't make a lot of sense. |
Triage: the linked PR is merged, can this be closed? |
Yes, it can be closed. Sorry this fell through the cracks. |
Bug report
Bug description:
With the addition of cold exits, the "optimized trace length" histogram now includes the exit count + the optimized trace length.
While this is a useful metric for the overall executor size, it's no longer useful to see the amount of instructions that the optimizer was able to remove from the hot path.
I would suppose we break this out into two stats: the optimized trace length and the exit count.
Does this make sense, @markshannon?
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
The text was updated successfully, but these errors were encountered: