The old CPU kernel called the JavaScript engine's sine and cosine, so part of its speed belonged to the browser, not the processor.
- Since revision 2026.09.17 the kernel is a small WebAssembly module that does the same arithmetic with its own polynomial for sine and cosine.
- In five interleaved pairs of 60 second runs on one laptop, the WebAssembly kernel averaged 5.39 times the JavaScript one, and its run-to-run spread was far smaller.
- CPU figures are not compared across that revision. The score's CPU bounds were rescaled so the component reads on the same scale.
The short answer
The two kernels do the same work, and the WebAssembly one finishes it about 5.4 times faster on the laptop measured. The larger reason to switch was not speed: the JavaScript kernel's rate depended on how the browser's maths library computed sine and cosine, so it partly measured the browser. The WebAssembly kernel computes them itself, so its computed result is identical in every browser by design. Its speed ratio against the JavaScript kernel has been measured in Chrome only; Firefox and Safari are not yet measured.
What changed
Each operation is the same in both kernels: a square root, a sine and a cosine combined and added to a running sum. The WebAssembly module computes sine and cosine with a fixed polynomial instead of calling the engine. Every operation has a JavaScript twin, and the tests require both to produce bit-identical sums. Each worker checks the module against a known answer before trusting it, and falls back to the JavaScript kernel if WebAssembly is missing or wrong, and the report says which kernel ran.
Batch sizes, chunk lengths, the sampling windows, the warm-up and the decay rules did not change.
What the A/B showed
On 7 October 2026 one production build was run in five interleaved pairs of 60 second CPU stages, JavaScript then WebAssembly, with a minute idle between runs. The machine was an Intel Core i5-1245U laptop on mains power, in Chrome.
The JavaScript kernel averaged 53.46 million operations a second and the WebAssembly kernel 286.46, a ratio of 5.39. The WebAssembly figures sat within about 0.7% of their mean from run to run, against about 7.7% for JavaScript, and all five WebAssembly runs gave the same curve label where the JavaScript runs gave three different ones.
What it means for your reports
A CPU figure from before revision 2026.09.17 is on a different scale and is not compared with one after it. The CPU part of the score was rescaled by the measured ratio, so the same laptop gives about the same CPU component on either kernel. The ratio comes from one laptop and one browser; it is used for the scale and is not a claim about WebAssembly on every machine.
Terms used here
Questions
- Is WebAssembly always about five times faster than JavaScript?
- No. The ratio here is for one kernel, on one laptop, in one browser. How much faster WebAssembly is depends on the code, and modern JavaScript engines run many workloads close to it.
- What if my browser blocks WebAssembly?
- The workers fall back to the JavaScript kernel and the report says so. Its figures are read on the JavaScript kernel's own scale.