micro-benchmarks across math · regex · array · string · sort · pattern of speeds reveals v8 vs jsc vs spidermonkey · runs locally
how it works
every javascript engine implements its jit compiler differently. v8 (chrome/node), jsc (safari), and spidermonkey (firefox) each make different optimisation decisions for the same code. the relative performance across workloads — especially the ratio between float math, regex, and array operations — forms a fingerprint that is stable within a browser family yet distinct between engines. this tool runs 17 micro-benchmarks and builds a profile without touching the dom.
run
why this matters
- engine detection is meaningful. v8, jsc, and spidermonkey have different security track records, update cycles, and vulnerability surfaces.
- browser fingerprinters routinely include js execution speed as a signal alongside canvas and webgl hashes.
- constant-time checks fail here. the ratio between workloads (math vs regex vs array) survives clock normalisation because it’s an engine architectural property, not just clock speed.
- jit tier-up means the first run is warm-up. this tool runs each benchmark in one go to capture the jit-warmed steady state.