Includes engine loading and the first parse or compilation. Prebuilt provider artifacts remain cached.
How js2wasm-compiled WebAssembly performs against plain JavaScript across a set of representative workloads — runtime speed per benchmark, plus how those numbers have trended across benchmark runs over time.
← Back to home
The same dynamically assembled function sums
i % 7
over 10,000 iterations. Every measured sample returned the expected value, 29,994. Lower is better; factors are
relative to the fastest lane in each panel.
Includes engine loading and the first parse or compilation. Prebuilt provider artifacts remain cached.
This is actual repeated
eval(source)
: compilation happens again for every measured call.
Models a cached function or tier-up: only execution of the prepared result is timed.
wasm-opt
.
Measured 12 August 2026 on an Apple M4 with Node 24.4.1. Cold results are medians of 7 interleaved fresh processes. Hot eval uses 3 warmups and 9 measured calls. Prepared execution uses 5 warmups and 15 calibrated measured batches. Filesystem caches were not flushed. All three lanes run under the same Node host; the AOT proof of concept uses the Node-hosted js2wasm compiler. See the raw samples and artifact hashes , the interpreter and QuickJS revision , and the AOT side-module revision .