Mikä on JavaScript-vertailuarvo?

JavaScript-vertailuarvo mittaa, kuinka nopeasti koodinpätkä suoritetaan, ajamalla sitä toistuvasti kiinteän ajanjakson yli ja laskemalla, kuinka monta operaatiota sekunnissa se voi suorittaa. Vertailumittausta käytetään yleisesti kahden lähestymistavan vertailuun samaan ongelmaan — esimerkiksi tarkistamalla, onko Array.includes() nopeampi kuin Array.indexOf() tietyssä käyttötapauksessa. Tulokset voivat vaihdella merkittävästi selaimien ja laitteiden välillä, koska jokaisella JavaScript-moottorilla (V8, SpiderMonkey, JavaScriptCore) on omat optimoinnit ja JIT-kääntämisstrategiat.

Työkalun kuvaus

Tämä työkalu antaa sinun liittää kaksi JavaScript-koodinpätkää ja suorittaa rinnakkaisen suorituskykytestin suoraan selaimessasi. Jokainen pätkä mitataan konfiguroitavan keston yli, ja tulokset näyttävät operaatiot sekunnissa ja keskimääräisen ajan operaatiota kohti molemmille funktioille. Edistymispalkki korostaa suhteellisen suorituskykyn eroa, jolloin on helppo nähdä yhdellä silmäyksellä, kumpi lähestymistapa on nopeampi.

Ominaisuudet

  • Suorittaa molemmat pätkät Web Workerissa, joten vertailumittaukset eivät koskaan estä tai jäädytä selaimen välilehteä
  • Konfiguroitava vertailumittauksen kesto tarkkuuden ja odotusajan tasapainottamiseksi
  • Rinnakkainen ops/sec-vertailu visuaalisen palkin ja prosentuaalisen eron kanssa

Kuinka se toimii

Jokainen pätkä kääritään silmukkaan, joka suoritetaan määritetyn keston yli (oletus 2 sekuntia) 100 ms:n lämmittelyvaiheen jälkeen, jotta JIT-kääntäjä voi optimoida koodin. Operaatiot lasketaan mitatun ikkunan aikana, ja ops/sec lasketaan muodossa count / elapsed_ms * 1000. Koko vertailumittaus suoritetaan Web Workerissa, joten se ei voi käyttää DOM:ia, mutta sillä on pääsy vakio-JavaScript-globaaleihin, kuten Math, Date, performance, taulukkoihin ja objekteihin.

Vinkkejä

  • Pidä pätkät itsenäisinä; vältä sivuvaikutuksia, jotka kertyvät iteraatioiden välillä
  • Käytä pidempää kestoa (3–5 sekuntia) vakaampia tuloksia varten nopeissa operaatioissa
  • Tulokset heijastavat sinun spesifiiä selainta ja konetta — vertaa aina kohdeympäristössä