Benchmark Principles
Measurement Methodology & 3-Stage Progression
Comparing JavaScript and WebAssembly requires strict isolation between delivery overhead, initiation cost, and raw computational throughput.
Progression Pipeline
The 3-Stage Evaluation Architecture
Every benchmark progresses through three strictly isolated stages:
- Stage 1 โ Core Baseline (JS vs Handwritten WAT): First-principles baseline comparing handwritten JavaScript against handwritten WebAssembly text format (WAT). This comparison runs first and establishes the algorithmic foundation.
- Stage 2 โ Multi-Language Comparison (Track A Controlled): Identical algorithms implemented across compiled language toolchains (C, C++, Rust, AssemblyScript, and Dart with WasmGC or flat typed memory) targeting WebAssembly.
- Stage 3 โ Idiomatic & SIMD Optimizations (Track B): Specialized optimizations such as 128-bit SIMD vectorization and cache-blocking transforms, evaluated directly against each target's own Stage 1 or Stage 2 baseline.
Measurement Disciplines
Three-Part Honest Reporting Model
Single aggregate numbers conceal crucial trade-offs. The suite separates measurements into three distinct components:
- Static Payload Footprint: Pre-fetched binary and source byte counts, separated from in-browser execution latency so network fluctuations do not corrupt timing data.
- Initiation Time: Compilation, module instantiation, and cold execution recorded separately from sustained loop samples.
- Warm Execution Distribution: Median, minimum, maximum, 95th percentile, and interquartile range (IQR) calculated across sustained execution trajectories.
Visual Evidence
Four Standard Performance Visualizations
Every benchmark execution renders four distinct SVG visualizations:
- Execution Time Bar Chart: Proportional horizontal comparison with 95% confidence interval whiskers.
- Initiation vs Execution Amortization Chart: Explicit break-even crossing point indicating where compiled throughput offsets startup overhead.
- Iteration Trajectory Chart: Sequential iteration plot showing warm-up, JIT tier-up, and steady-state stability.
- Size vs Speed Scatter Plot: Two-dimensional plot correlating binary footprint against warm execution median.