What is this?
This website is for the
Rust and WebAssembly Working Group to help us track one of our
most important metrics, file size, over time. There are a number of
benchmarks that are rerun every night and we collect data for. The
charts represent the size of these benchmarks and the various files
they produce over time.
It's important to keep in mind that file size is a coarse metric for
measuring what really matters, time to user interaction. Small changes
are expected over time, and this tracker is still and early project!
If you want to get your own WebAssembly smaller be sure to stop by
our guide to shrinking compiled WebAssembly sizes.
The Working Group hopes to use this tool to diagnose regressions to
get fixed as well as hand out praise for improvements to file sizes.
The source for this website is on GitHub
so please feel free to contribute or add your own benchmark!
Benchmarks
- twiggy
-
This is a benchmark of Twiggy's
crate for a
WebAssembly API, exercising wasm-pack and wasm-bindgen.
- game-of-life
-
This is a benchmark of the Game of Life Tutorial
which corresponds to our
introductory documentation. This benchmark exercises
wasm-pack and wasm-bindgen.
- rust-webpack-template
-
This is a benchmark of the Working
Group's Webpack Template which is the starter template that we
recommend for integrating with Webpack. This exercises wasm-pack,
wasm-bindgen, and Webpack.
- dodrio-todomvc
-
This is a benchmark of the Dodrio crate's TodoMVC Example
which exercises wasm-pack and wasm-bindgen
- source-map-mappings
-
This is a benchmark of the
Wasm Source Map library
which exercises rustc and has been featured in
a historical blog post.
- squoosh-rotate
-
This is a benchmark of the
squoosh rotate codec
which exercises rustc and has been featured in
a historical blog post.
Other Information
- At the top you can switch between absolute and relative data.
The absolute view will show you a graph of absolute file sizes over
time, whereas the relative view will show you all data relative to
the first data point, showing percentage change over time
-
Any graph line ending in (gz) represents measuring the corresponding
output after gzip default compression. This is hoped to get a
better idea of how file changes affect compressed (likely over the
wire) transfers.