Repository navigation
Conversation
Standalone Vite apps made from four docs examples, and the scripts that measured the v3 metadata format and unstable_stripJsImpl.
This was referenced Oct 21, 2026
Resolution Time Benchmark---
config:
themeVariables:
xyChart:
plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
title "Random Branching (🔴 PR | 🔵 main | 🟢 release)"
x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
y-axis "time (ms)"
line [0.78, 1.60, 3.32, 4.86, 6.91, 9.23, 19.44, 18.26]
line [0.68, 1.46, 3.28, 4.89, 6.10, 10.15, 19.29, 20.94]
line [0.70, 1.44, 3.11, 5.25, 5.38, 9.25, 18.33, 17.97]
---
config:
themeVariables:
xyChart:
plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
title "Linear Recursion (🔴 PR | 🔵 main | 🟢 release)"
x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
y-axis "time (ms)"
line [0.27, 0.45, 0.59, 0.71, 0.89, 0.98, 1.16, 1.28]
line [0.28, 0.43, 0.61, 0.61, 0.85, 0.90, 1.05, 1.17]
line [0.22, 0.41, 0.48, 0.62, 0.83, 0.86, 1.02, 1.12]
---
config:
themeVariables:
xyChart:
plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
title "Full Tree (🔴 PR | 🔵 main | 🟢 release)"
x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
y-axis "time (ms)"
line [0.70, 1.70, 3.20, 6.96, 11.01, 21.35, 44.74, 90.55]
line [0.81, 1.63, 3.08, 5.34, 9.59, 20.99, 45.50, 89.45]
line [0.68, 1.60, 3.45, 5.77, 10.75, 20.34, 42.05, 87.17]
|
|
pkg.pr.new packages benchmark commit |
Bundle size comparison (
|
| 🟢 Decreased | ➖ Unchanged | 🔴 Increased | ❔ Unknown |
|---|---|---|---|
| 0 | 352 | 0 | 0 |
No notable changes.
If you wish to run a comparison for other, slower bundlers, run the 'Tree-shake test' from the GitHub Actions menu.
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.
Not for merging. These are the apps and scripts behind the numbers in #3244–#3247, kept here for inspection. Details are in
apps/bundle-size-lab/README.md.'use gpu'functions (monocular-light-injection, selfie-segmentation, os-awards, jelly-slider), each built into one minified chunk. Env vars toggleunstable_stripJsImpl,unstable_obfuscate,unstable_minifyand auto-naming.measure.ts: raw/gzip/brotli size of every build, bytes per part of the metadata, and bytes per source (from sourcemaps).results-{main,pr2,pr3,pr4}.jsoncome from running it with the repo atmainand at each PR of the stack.formats.ts: re-encodes the metadata in the built bundles in candidate formats and measures the resulting bundles, plus ablations (no AST, no externals, no metadata).bench.ts+decoders.ts: cold-start benchmark of the formats. One fresh Node process per run compiles and runs each app's metadata, then reads all of it. Every format is first checked to decode to the same AST.evaluate.ts: time to import whole bundles in fresh Node processes, with two builds interleaved.serve.ts: serves the builds and records every shader module's code. That's how the generated WGSL was compared between builds in Chromium.examples/tests/revive-check: checksunstable_stripJsImplby calling functions on the CPU.