Skip to content

Update mrbind: pick up the Python bindings size reductions from master - #6574

Merged
Fedr merged 7 commits into
masterfrom
bindings-py-tables
Aug 25, 2026
Merged

Update mrbind: pick up the Python bindings size reductions from master#6574
Fedr merged 7 commits into
masterfrom
bindings-py-tables

Conversation

@Fedr

@Fedr Fedr commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Retargets the thirdparty/mrbind gitlink 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 one cpp_function instantiation.

mrmeshpy.so

Same MeshLib commit, MODE=release, only the gitlink varies. From 5d6f332e (what master pins today) to 232ff331:

x86_64 aarch64
compressed (in wheel) -0.78% -1.30%
uncompressed -0.34% -1.30%
.text -1.30% -1.78%
meshlib-core wheel -0.22% -0.35%

Absolute 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.pyi is 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.

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.
Fedr added 2 commits August 11, 2026 09:26
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.
Fedr added 3 commits August 24, 2026 19:21
Picks up the merge of mrbind master (including its own size reduction)
and the shared name-adjustment helpers.
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.
@Fedr Fedr changed the title Update mrbind: table-driven Python bindings registration Update mrbind: pick up the Python bindings size reductions from master Aug 25, 2026
@Fedr
Fedr merged commit 6fa3f4f into master Aug 25, 2026
50 checks passed
@Fedr
Fedr deleted the bindings-py-tables branch August 25, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant