-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[Python][Packaging] Strip unnecessary symbols from libarrow.so to reduce wheel package size #40749
Comments
Can we check whether backtrace on crash is still available with |
Potentially related issue with some useful content (but specifically for the wheels, so maybe mostly relevant for our cython code?): pypa/cibuildwheel#331 That issue mentions numpy used |
I've tried on the reproducer in #38770 and only
More powerful strip options make the backtrace less useful because the symbols of non-public functions are removed:
This is on the PyArrow 15.0.2 wheels. The savings are still significant: from 61MB (original) to 54MB (stripped) for |
For pyarrow, there are also nightly wheel builds as well, correct? Might it also be an option to keep the debug symbols in those (so that there is a route to getting a user-reported stack trace) but strip them from the wheel most users get with a default |
A user-reported stack trace would be possible with |
For macOS on pandas it seems that And the fix |
… wheels (#42028) ### Rationale for this change Removing unnecessary symbols for wheels will allow us to reduce the size of the wheels considerably. ### What changes are included in this PR? Running `strip --strip-debug` on Linux wheels for all *.so files. ### Are these changes tested? Yes, via Archery. ### Are there any user-facing changes? No * GitHub Issue: #40749 Lead-authored-by: Raúl Cumplido <raulcumplido@gmail.com> Co-authored-by: Antoine Pitrou <pitrou@free.fr> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
Issue resolved by pull request 42028 |
Describe the enhancement requested
There has been some effort in order to reduce pyarrow size and there are some issues opened in order to split pyarrow wheels in order to have
pyarrow-core
,pyarrow-all
, etcetera.There seems to be the possibility to strip unnecessary symbols via
strip --discard-all
. Thelibarrow.so
file seems to be reduced from 61MB to 45 MB.Another example:
This issue is to investigate the possibility of using strip and the possible disadvantages.
edited to fix typo
Component(s)
Packaging, Python
The text was updated successfully, but these errors were encountered: