Repository navigation
Conversation
Similarly to bpo-40145, this tweaks build options to reduce the size of the
binary.
_overlapped.pyd 32 bit unimproved release size: 31KB
_overlapped.pyd 32 bit improved release size: 29KB
size reduction: -3KB
% size reduction: 10%
_overlapped_d.pyd 32 bit unimproved release size: 55KB
_overlapped_d.pyd 32 bit improved release size: 34KB
size reduction: -21KB
% size reduction: 38%
_overlapped.pyd 64 bit unimproved release size: 39KB
_overlapped.pyd 64 bit improved release size: 36KB
size reduction: -3KB
% size reduction: 8%
_overlapped_d.pyd 64 bit unimproved release size: 74KB
_overlapped_d.pyd 64 bit improved release size: 41KB
size reduction: -33KB
% size reduction: 45%
Contributor
|
Ping, @python/windows-team? |
Contributor
Author
|
Sorry, I need to reland this whole series. The pandemic and family got in the way, and I need to redo the build options pull. |
Contributor
No worries, thanks for working on this! Be safe. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Similarly to bpo-40145, this tweaks build options to reduce the size of the
binary.
This patch turns on (for release builds) Whole Program Optimization, MinSpace
optimization, /Ob2 AnySuitable function inlining, /Zo (so that people can still
debug it when lots of code has been optimized out), /OPT:REF dead code
elimination, /OPT:ICF COMDAT folding, Link Time Code Generation, and DebugFull
debugging information creation.
For debug builds, it enables all of that, except instead of the MinSpace
optimization, it's only /Ob2 with custom optimization. My intent is to not
optimize any asserts or similar checks, while still getting the benefit of
dead and duplicate code elimination.
https://bugs.python.org/issue40151