-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed
Labels
3.14bugs and security fixesbugs and security fixesOS-windowsinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usagetype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug description:
#118450 "Convert the evaluation stack to stack refs" (by @Fidget-Spinner) unfortunately seems to have introduced a 7% - 11% performance regression overall (though as much as 25% for some benchmarks) on Windows only. Linux (both x86_64 and aarch64) and macOS (arm) seem to have a change beneath the noise threshold. To be clear, @Fidget-Spinner's work is great and the lesson here is that for these sorts of sweeping low-level changes, we should have benchmarked on all of the Tier 1 platforms to be certain.
I don't know what the cause is -- it is probably MSVC not being able to "optimize through" something and introducing unnecessary overhead, but that's just a theory.
Cc: @brandtbucher, @markshannon
CPython versions tested on:
CPython main branch
Operating systems tested on:
Windows
Linked PRs
Metadata
Metadata
Assignees
Labels
3.14bugs and security fixesbugs and security fixesOS-windowsinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usagetype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error