Container Orchestration

2026-05-19 16:38:06

JetStream 3: A New Era for Web Performance Benchmarks

JetStream 3 is a major cross-browser benchmark update from Google, Mozilla, and WebKit. It modernizes WebAssembly testing, fixes the 'infinity problem' from JetStream 2, and reflects real-world web application scale.

JetStream 3 is a major update to the cross-browser benchmark suite, developed in collaboration with Google, Mozilla, and the WebKit team. It redefines how we measure web performance, especially for WebAssembly and modern applications. Below, we answer key questions about this release.

What is JetStream 3 and why was it created?

JetStream 3 is a next-generation benchmark suite designed to reflect the evolving nature of web applications. It was created because earlier benchmarks, like JetStream 2, became outdated as best practices changed and browser engines optimized away their original challenges. The goal is to provide a realistic performance measurement for today's web, which includes complex WebAssembly workloads, larger JavaScript apps, and real-world usage patterns. This collaborative effort between Google, Mozilla, and WebKit ensures that JetStream 3 stays relevant and drives meaningful improvements across all major browsers.

JetStream 3: A New Era for Web Performance Benchmarks
Source: webkit.org

How does JetStream 3 change WebAssembly benchmarking?

JetStream 3 fundamentally shifts how WebAssembly (Wasm) is measured. In JetStream 2, Wasm performance was split into two phases: Startup and Runtime. This made sense when Wasm was new and large C/C++ projects (like games) had high startup costs. However, modern engines have made Wasm instantiation extremely fast—often sub-millisecond. JetStream 3 unifies these phases, focusing on total end-to-end performance. It also uses more realistic Wasm workloads, such as image decoders and UI frameworks, rather than just heavy compute tasks. This change ensures that benchmarks accurately reflect how Wasm is used on the web today, where it appears in critical loading paths.

What was the 'infinity problem' in JetStream 2?

The 'infinity problem' emerged because browser engines optimized WebAssembly startup so well that for small workloads, instantiation time dropped below 1 millisecond. JetStream 2 measured time with Date.now(), which rounds sub-millisecond values down to zero. The scoring formula was Score = 5000 / Time, so when time became 0, the score became infinity—effectively breaking the benchmark's meaning. This was patched in JetStream 2.2 by clamping scores to 5000, but it highlighted that the suite no longer challenged modern engines. It was a clear sign that a fundamental redesign was needed.

Why did browser engines outgrow JetStream 2's Wasm subtests?

Browser engines like WebKit's JavaScriptCore aggressively optimized the WebAssembly startup path. As instantiation times shrank from hundreds of milliseconds to near zero, the original benchmark subtests became too easy. Shaving even 0.1 ms off a 2 ms workload now represents a 5% gain, but the benchmark couldn't capture such improvements meaningfully. Meanwhile, Wasm usage expanded beyond games to libraries, image decoders, and UI frameworks—all of which are part of critical page load paths. JetStream 2's Wasm tests no longer matched real-world scenarios, making it outdated for driving further performance gains.

How does JetStream 3 reflect modern web application scale?

JetStream 3 incorporates larger, more complex test cases that mirror today's web apps. Instead of simple synthetic tasks, it includes realistic workloads like video editing, 3D rendering, and advanced data processing. This shift addresses the fact that modern websites are heavier and use more sophisticated JavaScript and Wasm. The suite also revises its scoring to better represent user-perceived performance, not just raw throughput. By aligning with real-world application scale, JetStream 3 ensures that optimizations driven by these benchmarks actually benefit end users.

What was the collaborative effort behind JetStream 3?

JetStream 3 was a joint project between the WebKit team (Apple), Google, and Mozilla. Each contributed expertise and workloads to create a balanced, cross-browser benchmark. Google helped design new Wasm tests, Mozilla provided insights into real-world web usage, and WebKit focused on performance measurement accuracy. This collaboration ensures that no single browser has an advantage and that the suite drives improvements across all engines. The result is a benchmark that the entire web community can trust for performance comparisons and optimization guidance.