Hva er en JavaScript-benchmark?

En JavaScript-benchmark måler hvor raskt et stykke kode kjøres ved å kjøre det gjentatte ganger over en fast tidsperiode og telle hvor mange operasjoner per sekund det kan fullføre. Benchmarking brukes vanligvis til å sammenligne to tilnærminger til samme problem — for eksempel å kontrollere om Array.includes() er raskere enn Array.indexOf() for et gitt brukstilfelle. Resultatene kan variere betydelig mellom nettlesere og enheter, siden hver JavaScript-motor (V8, SpiderMonkey, JavaScriptCore) har sine egne optimaliseringer og JIT-kompileringstrategier.

Verktøybeskrivelse

Dette verktøyet lar deg lime inn to JavaScript-kodebiter og kjøre en direkte ytelsessammenligning i nettleseren din. Hver kodebitt måles over en konfigurerbar varighet, og resultatene viser operasjoner per sekund og gjennomsnittlig tid per operasjon for begge funksjonene. En fremdriftslinje fremhever den relative ytelsesforskjellen, noe som gjør det enkelt å se hvilken tilnærming som er raskere med ett blikk.

Funksjoner

  • Kjører begge kodebittene i en Web Worker slik at benchmarks aldri blokkerer eller fryser nettleserfanen
  • Konfigurerbar benchmark-varighet for balansering av nøyaktighet mot ventetid
  • Side-ved-side ops/sec-sammenligning med en visuell stolpe og prosentvis forskjell

Hvordan det fungerer

Hver kodebitt er pakket inn i en løkke som kjøres i den angitte varigheten (standard 2 sekunder) etter en 100 ms oppvarmingsfase for å tillate JIT-kompilatoren å optimalisere koden. Operasjoner telles under det tidsbestemte vinduet, og ops/sec beregnes som count / elapsed_ms * 1000. Hele benchmark-kjøringen kjøres inne i en Web Worker slik at den ikke kan få tilgang til DOM, men den har tilgang til standard JavaScript-globaler som Math, Date, performance, matriser og objekter.

Tips

  • Hold kodebitter selvstendige; unngå bivirkninger som akkumuleres mellom iterasjoner
  • Bruk en lengre varighet (3–5 sekunder) for mer stabile resultater på raske operasjoner
  • Resultatene gjenspeiler din spesifikke nettleser og maskin — benchmark alltid i målmiljøet