Mis on JavaScripti võrdlus?

JavaScripti võrdlus mõõdab, kui kiiresti koodiosa täidetakse, käitades seda korduvalt fikseeritud aja jooksul ja loendades, mitu operatsiooni sekundis saab lõpule viia. Võrdlemist kasutatakse tavaliselt kahe lähenemisviisi võrdlemiseks sama probleemi lahendamiseks — näiteks kontrollimaks, kas Array.includes() on Array.indexOf() kiirem antud kasutusolukorras. Tulemused võivad erinevate brauserite ja seadmete vahel oluliselt erineda, kuna igal JavaScripti mootoril (V8, SpiderMonkey, JavaScriptCore) on oma optimeerimised ja JIT kompileerimise strateegiad.

Tööriista kirjeldus

See tööriist võimaldab teil kleepida kaks JavaScripti koodikatkendit ja käivitada otsese jõudluse võrdluse otse oma brauseris. Iga katkendit mõõdetakse konfigureeritava kestusega ja tulemused näitavad operatsioone sekundis ja keskmist aega operatsiooni kohta mõlema funktsiooni jaoks. Edenemisriba tõstab esile suhtelise jõudluse erinevuse, muutes lihtsamaks näha, milline lähenemisviis on kiireim.

Funktsioonid

  • Käitab mõlemat katkendit Web Workeris, nii et võrdlused ei blokeeri ega külmuta brauseri vahekaarti
  • Konfigureeritav võrdluse kestus täpsuse ja ootamise aja tasakaalustamiseks
  • Kõrvuti ops/sec võrdlus visuaalse ribaga ja protsendilise erinevusega

Kuidas see toimib

Iga katkendit ümbritsetakse silmusega, mis käitatakse määratud kestuse jooksul (vaikimisi 2 sekundit) pärast 100 ms soojendamisfaasi, et võimaldada JIT kompileerija koodi optimeerida. Operatsioone loendatakse ajastatud akna jooksul ja ops/sec arvutatakse valemiga count / elapsed_ms * 1000. Kogu võrdlus käitatakse Web Workeris, nii et see ei pääse DOM-ile juurde, kuid sellel on juurdepääs standardsetele JavaScripti globaalsetele muutujatele nagu Math, Date, performance, massiivid ja objektid.

Näpunäited

  • Hoidke katkendit iseseisva; vältida kõrvalmõjusid, mis kuhjuvad iteratsioonide vahel
  • Kasutage pikemat kestust (3–5 sekundit) stabiilsemate tulemuste saamiseks kiiretes operatsioonides
  • Tulemused peegeldavad teie konkreetset brauserit ja masinat — alati võrdlege sihtkeskkonnas