Update mrbind: pick up the Python bindings size reductions from master - #6574
Merged
Conversation
Picks up the mrbind change that registers bound methods, fields and enum elements from constexpr data tables instead of per-entity template instantiation chains, which shrinks mrmeshpy substantially.
The previous commit pointed at a commit that does not exist.
Static member functions no longer carry the class type into the registrar shape, so they can share registrars with equally-shaped free functions.
Picks up the merge of mrbind master (including its own size reduction) and the shared name-adjustment helpers.
# Conflicts: # thirdparty/mrbind
Picks up the two size reductions that have already landed in mrbind master instead of the table-driven branch from #44, which is still under review.
# Conflicts: # thirdparty/mrbind
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.
Retargets the
thirdparty/mrbindgitlink at mrbind's current master,232ff33.This PR originally bumped to the table-driven branch behind mrbind#44, which is still under review. Meanwhile two Python-bindings size reductions have landed in mrbind master, so this now just picks those up. MeshLib master already pins
5d6f332e(the first of them), so the remaining delta here is mrbind#47 - passing the doc comment unconditionally as a possibly-null pointer, so entities with and without a comment share onecpp_functioninstantiation.mrmeshpy.soSame MeshLib commit,
MODE=release, only the gitlink varies. From5d6f332e(what master pins today) to232ff331:.textmeshlib-corewheelAbsolute compressed bytes: x86_64 15,573,029 -> 15,451,707; aarch64 14,056,202 -> 13,873,469.
Small, but it is a pure code reduction - no data or relocations are added - so the uncompressed size drops too rather than being traded away.
mrmeshpy.pyiis unchanged, and nothing about the generated API moves.If mrbind#44 lands later, a further bump gets roughly -14% (x86_64) and -10% (aarch64) compressed on top of this, at the cost of ~1.3% more uncompressed on aarch64. That trade is documented on that PR; this bump has no such downside.