feat: Let Binaryen pack our data more efficiently #2975
+22
−0
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.
AssemblyScript produces a bunch of small data chunks. Binaryen can split up large chunks to represent them in a compact way, but not combine them.
This change checks whether Binaryen will be doing any optimisation at all, and combines all the
MemorySegments into one big segment.Here's a comparison of the bootstrapped AssemblyScript compiler itself, with and without the change:
Since this patch adds functionality, it increases the code size of the debug build, but the release build is still smaller due to the repacking.
It's a small improvement, and on my other projects I'm only seeing a ~1% change but 🤷.