[WIP] WASM: share empty child arrays - #1910
Open
peaBerberian wants to merge 1 commit into
Open
peaBerberian wants to merge 1 commit into
peaBerberian wants to merge 1 commit into
Conversation
peaBerberian
force-pushed
the
wasm-lazy-child-arrays
branch
from
September 25, 2026 17:27
2c02ef4 to
b4bca46
Compare
|
✅ Automated performance checks have passed on commit DetailsPerformance tests 1st run outputNo significative change in performance for tests:
|
peaBerberian
force-pushed
the
wasm-lazy-child-arrays
branch
from
September 25, 2026 20:38
b4bca46 to
6290b63
Compare
|
✅ Automated performance checks have passed on commit DetailsPerformance tests 1st run outputNo significative change in performance for tests:
|
This branch has not been deployed
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.
Preamble (repeated for the current wave of WASM PRs)
I'm doing several PR related to our optional WebAssembly DASH parser.
This parser was initially specifically optimized for DASH MPD with huge
<SegmentTimeline>elements (several MB) for some of Canal+'s own contents.Testing it lately, it is still the main scenario where it clearly shines against our default JS parser.
Since that time however, the DASH spec and DASH packagers have evolved a lot and those bigger MPDs are now very rarely encountered. At Canal+, this led us back to advise the usage of our simpler default JS parser to applications. Yet we still continued maintaining in a best-effort way our WASM parser, as we know some external applications continue to rely on it.
It's been a few years since we've really dived deeply into it however, and with the new tools at our disposal now (notably LLMs, particularly adapted here as we've two pieces of code - the JS and WASM parsers - which are supposed to give the same output), there's some areas for a few quick wins in terms of conformance, in terms of testing against regressions, and in terms of performance.
What this PR does
Reuse the same "empty" array reference. As we might have a lot of it in our parser. (actually allocate a new array for non-empty).
We'll see in CI if there's a point