bpo-45115: Enable optimiaztions on Windows debug build by vstinner · Pull Request #28181 · python/cpython
Conversation
On Windows, enable compiler optimizations on the debug build to make
tests run faster and to reduce the stack memory usage, especially
with static inline functions used in Python public header files.
The Windows GitHub Actions now build Python in debug mode to catch
more bugs.
On Windows, enable compiler optimizations on the debug build to make tests run faster and to reduce the stack memory usage, especially with static inline functions used in Python public header files. The Windows GitHub Actions now build Python in debug mode to catch more bugs.
I modified my PR #28128 to see if enabling compiler optimizations fix test_exceptions when Py_TYPE() macro is converted to a static inline function.
[Reference] Timing of a release build (with optimizations), from PR #28180:
- Windows x86: Total duration: 9 min 39 sec (test_asyncio.test_sendfile_close_peer_in_the_middle_of_receiving() re-run)
- Windows x64: Total duration: 9 min 9 sec
[With this PR] GitHub Action jobs with Python built in debug mode with optimizations:
- Windows x86: Total duration: 13 min 23 sec.
- Windows x64: Total duration: 10 min 30 sec (test_asyncio.test_sendfile_close_peer_in_the_middle_of_receiving() re-run).
Currently, the slowest job is the Address Sanitizer. IMO as soon as the Windows jobs are faster than the Address Sanitizer job, the little slowdown of this PR on GitHub Action is accepted. And it's way better to test Python on Windows in debug mode!
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blocking this PR explicitly until we've had the discussion on the issue tracker.
When you're done making the requested changes, leave the comment: I have made the requested changes; please review again.
Blocking this PR explicitly until we've had the discussion on the issue tracker.
Ok, I convert this PR to a draft to prevent merging it by mistake.