ALGOFFT · WASM
Starting worker…GO · WEBASSEMBLY · NO CGO
Measured in this tab, in a dedicated worker, so the UI thread never skews the clock and Stop can actually stop. No SIMD and no threads under WebAssembly — read these numbers as the portable Go path, not algofft's AVX2/NEON peak.
| Run the benchmark to populate this table. | |||||||||||
performance.now() as a Spectre mitigation (Chrome ~100 µs,
Firefox/Safari ~1 ms) and GitHub Pages cannot send the COOP/COEP
headers that would lift the clamp; the granularity actually probed in
this browser is —. Nothing is timed
once: each case is calibrated by doubling an iteration count until one
batch clears that floor, then timed over
— batches and reported as the median per
transform, with the relative standard deviation alongside. Plan
construction is measured separately and excluded from the transform
time; the second build of the same plan is reported next to it, which is
what the wisdom cache buys. Rows whose batches never reach
200 × granularity are flagged rather than hidden. The
benchmark runs in a dedicated worker: the loop lives in JavaScript and
calls into Go one bounded chunk at a time, because a synchronous Go call
blocks the worker's event loop and a queued Stop cannot dispatch until
it returns.