JavaScript-benchmark
Benchmarka och jämför två JavaScript-funktioner sida vid sida i en webworker.
Inmatning
Utdata
Readme
Vad är ett JavaScript-benchmark?
Ett JavaScript-benchmark mäter hur snabbt en kodbit körs genom att köra den upprepade gånger under en fast tidsperiod och räkna hur många operationer per sekund den kan slutföra. Benchmarking används ofta för att jämföra två tillvagagångssätt till samma problem — till exempel för att kontrollera om Array.includes() är snabbare än Array.indexOf() för ett givet användningsfall. Resultaten kan variera betydligt mellan webbläsare och enheter, eftersom varje JavaScript-motor (V8, SpiderMonkey, JavaScriptCore) har sina egna optimeringar och JIT-kompileringstrategier.
Verktygsbeskrivning
Det här verktyget låter dig klistra in två JavaScript-kodavsnitt och köra en direkt prestandajämförelse i din webbläsare. Varje avsnitt tidmäts under en konfigurerbar varaktighet, och resultaten visar operationer per sekund och genomsnittlig tid per operation för båda funktionerna. En förloppsindikator markerar den relativa prestandaskillnaden, vilket gör det enkelt att se vilket tillvagagångssätt som är snabbare på ett ögonkast.
Funktioner
- Kör båda avsnitten i en Web Worker så att benchmarks aldrig blockerar eller fryser webbläsarfliken
- Konfigurerbar benchmark-varaktighet för att balansera noggrannhet mot väntetid
- Jämförelse av operationer/sekund sida vid sida med ett visuellt fält och procentuell skillnad
Hur det fungerar
Varje avsnitt är inslaget i en loop som körs under den angivna varaktigheten (standard 2 sekunder) efter en uppvärmningsfas på 100 ms för att tillåta JIT-kompilatorn att optimera koden. Operationer räknas under det tidmätta fönstret, och operationer/sekund beräknas som count / elapsed_ms * 1000. Hela benchmarken körs inuti en Web Worker så den kan inte komma åt DOM, men den har åtkomst till standard JavaScript-globaler som Math, Date, performance, matriser och objekt.
Tips
- Håll avsnitt självständiga; undvik bieffekter som ackumuleras mellan iterationer
- Använd en längre varaktighet (3–5 sekunder) för mer stabila resultat på snabba operationer
- Resultaten återspeglar din specifika webbläsare och maskin — benchmarka alltid i målmiljön