Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

bpo-45116 Fix another performance regression on Windows#28630

Closed
neonene wants to merge 1 commit into
python:3.10python/cpython:3.10from
neonene:bpo-45116-1Copy head branch name to clipboard
Closed

bpo-45116 Fix another performance regression on Windows#28630
neonene wants to merge 1 commit into
python:3.10python/cpython:3.10from
neonene:bpo-45116-1Copy head branch name to clipboard

Conversation

@neonene

@neonene neonene commented Sep 29, 2021

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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
Copy Markdown
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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.