-
Notifications
You must be signed in to change notification settings - Fork 50
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
PGO performance issue when built with latest MSVC (version.1933) #468
Comments
This is interesting. Does this mean that the team working on improvements have regressed on Windows (in ways specific to the latest compiler fixes)? |
Yeah, we haven't been able to run Windows benchmarks ourselves. Which MSVC build are you using for the py.org builds, Steve? |
The latest public version - version number is embedded in sys.version: I typically update my build machine before doing releases. My experience with MSVC has been that either you pin its version and work around bugs as you find them, or you assume that any bugfix is worth taking and stick to the tip. It's not viable to only update sometimes, as any issues are going to be really hard to discover. |
So now it would be useful to be able to run benchmarks for Windows, to confirm neonene's report. |
3.11
and3.12
local PGO builds withMSC v.1933
are 6%~ slower than the PGO withv.1929
(vs2019) on my pyperformance macro benchmark.3.11rc2+ (2022-9-18 8e2bda8)
And python.org official binaries have 8% gap between 3.11rc2(
v.1933
) and 3.11rc1 (v.1932
). (A few percent of the slowdown is necessary from bugfix commits)At one glance, function inlinining in
_PyEval_EvalFrameDefault()
looks OK. Build logs showed only the following difference:8816 of 79666 inline instances were from dead/cold paths
6591 of 77031 inline instances were from dead/cold paths
3.10
seems fine withv.1933
. I'm not sure if this applies to everyone.cc: @zooba
The text was updated successfully, but these errors were encountered: