[New-bugs-announce] [issue40151] _overlapped room for improvement
Alexander Riccio
report at bugs.python.org
Wed Apr 1 23:46:48 EDT 2020
New submission from Alexander Riccio <test35965 at gmail.com>:
Similarly to bpo-40145, I've tweaked 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.
_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%
If this patch is merged, and all 7 million (estimated) Python developers update their installation, I calculate that I just saved the PSF 21GB worth of bandwidth costs :)
----------
components: Windows
messages: 365567
nosy: Alexander Riccio, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: _overlapped room for improvement
type: enhancement
versions: Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40151>
_______________________________________
More information about the New-bugs-announce
mailing list