Optimize and strip Cython compiled libraries #3310
Merged
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.
This modifies the Python binding build configuration to compile without debugging symbols, and strip the compiled libraries. This can help result in significantly smaller wheels. Compared to mlpack 3.4.2, the compiled libraries in the Python wheel are 10x smaller; part of that has to do with this patch, part of it has to do with all the other changes that have happened since mlpack 3.4.2.
The
-g0
option overrides any previous setting of-g
; this is necessary because Cython by default will compile with-g
(which is maybe a little bit of a confusing choice to me, but oh well).