Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32.2k
gh-134584: Eliminate redundant refcounting from_CALL_TYPE_1
#135818
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 ourterms of service andprivacy 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?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
19ed708
to184d8f1
CompareUh oh!
There was an error while loading.Please reload this page.
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.
Looks mostly good, just 2 comments that also explain the CI failure.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Thanks for the review! I'll continue working on it tomorrow (Monday) 🙂 |
I just merged#135761 in. Sorry but you'll have to merge the changes in, as I did not ultimately add |
184d8f1
to85ab405
CompareUh oh!
There was an error while loading.Please reload this page.
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.
Yay, thank you!
I will do some microbenchmarking to see if this does anything. Give me a sec. |
Fidget-Spinner commentedJun 23, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
On this script:
So it's slightly faster. However, note that this optimization won't fully pay off till we get#135465 merged. So let's wait for now till then. Thanks! Basically right now there's the extra cost of reading and writing to the stack due to the extra _POP_TOP. We're eliminating 1 reference count check in return. This seems to be barely worth it, but I crunched the numbers before and once the stack becomes registers, it becomes very worth it. If you're interested, I benchmarked my own branch with this (higher is better):
So we should expect to see an around ~10% speedup once TOS caching is merged, and we start doing this! |
@tomasr8 congrats!!! I decreased the loop count, rebased your PR on top of Mark's TOS caching PR, and did a micro bench with the script above.
So 8% improvement if we have TOS caching enabled on |
Awesome stuff! And a pretty nice speedup for a relatively simple optimization too! |
Uh oh!
There was an error while loading.Please reload this page.
Depends on#135761