Skip to content
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

bpo-45116 Fix another performance regression on Windows #28630

Closed
wants to merge 1 commit into from
Closed

bpo-45116 Fix another performance regression on Windows #28630

wants to merge 1 commit into from

Conversation

neonene
Copy link
Contributor

@neonene neonene commented Sep 29, 2021

Currently, MSVC tends to share the same code blocks in a too big function.
In the ceval-loop, NEXTOPARG() or DISPATCH() macros are unexpectedly shared and joined with (long) jump instructions, which disturb PGO profiling.

With this PR, MSVC seems to generate expected codes for #25244.

https://bugs.python.org/issue45116

@pablogsal
Copy link
Member

I have not reviewed this but this PR should not be landed before #28488, otherwise is going to be a nightmare to validate that code path again.

@pablogsal
Copy link
Member

are unexpectedly shared and joined

But that is designed like that on pourpose, and has proven to improve performance in the past. This would need some validation because AFAIK it goes against previous work and knowledge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants