reklama

Chrome má ďábelsky rychlý Javascript – na jak dlouho?

Google Chrome je prý neskutečně rychlý a expresně si poradí s Javascriptem. Nainstaloval jsem tedy všechny známe prohlížeče a spustil oblíbený a časem ověřený test SunSpider.

Pakliže se řekne webový prohlížeč, téměř každého nejprve napadne otázka, zdali bude zobrazovat správně webové stránky. S rostoucí penetrací AJAXu na webu se však do popředí dostává i problematika rychlosti zpracovávání Javascriptu. Ostatně není se čemu divit, komplexní webová aplikace postavená na AJAXu se pod tíhou stovek až tisíců řádků javascriptového kódu doslova prohýbá a jen rychlé připojení k internetu vám v takovém případě na starším počítači nebo průměrném notebooku rozhodně nebude stačit.

V čem testovat Javascript

Rychlost zpracovávání klientských skriptů na stránce je dnes tedy jedním z nejdůležitějších výkonnostních parametrů a do středu zájmu se vedle mytologického (leč poměrně relativního) ACID testu dostávají i nejrůznější (stejně realtivní) javascriptové benchmarky.

K těm nejznámějším testům dnes patří SunSpider od vývojářů renderovacího jádra WebKit (Safari, Chrome, iPhone, Android, …), relativně mladý projekt Dromaeo z dílny Mozilly a nejjednodušší V8 Benchmark Suite od Googlu, který posloužil pro ladění stejnojmenného javascriptového motoru prohlížeče Chrome.

SunSpider testuje základní schopnosti JavaScriptu od jednoduchých testů po složité a komplexní matematické výpočty. Elementární testy se přitom několikanásobně opakují a pak se vypočítá jejich průměrná délka trvání a odchylka. Podobně pracuje i V8 Benchmark Suite, je ovšem mnohem jednodušší. Nejkomplexnějším testem současnosti je pravděpodobně test Dromaeo, který zkoumá i výkon při práci s oblíbenými a často používanými javascriptovými knihovnami jQuery, Prototype aj.

Oblíbené online testy Javascriptu

Testujeme mainstreamové prohlížeče v SunSpideru

Dromaeo je tedy asi nejblíže k simulování skutečné práce se složitým webem, na druhou stranu s ním zřejmě mají problém některé prohlížeče. Safari 3.1.2 dokázalo během jediného testu alokovat až 600 MB operační paměti, Internet Explorer 8 Beta 2 zase pro změnu po několika minutách naprostého vytěžování procesoru ohlásil chybu. Nakonec jsem se tedy rozhodl pro časem ověřenou cestu a otestoval prohlížeče Chrome, IE7, IE8b2, Opera, Safari a Firefox v SunSpideru.

Klepněte pro větší obrázek  Klepněte pro větší obrázek
Oko estéta sice Sluneční Pavouk nenadchne, výsledky jsou ale zajímavé

SunSpider vrací jako výsledek kompletní seznam dílčích testů s průměrným časem každého z nich a odchylkou během testování. Nejpřehlednější je ale součet těchto časů, který jsem posléze srovnal s ostatními prohlížeči. Abych zajistil co největší objektivnost testu, použil jsem čisté instalace prohlížečů bez jakýchkoliv uživatelských dat a test jsem v průběhu dne čtyřikrát zopakoval. Odchylka ve výsledném času nepřekročila řádově několik procent.

SunSpider měří čas zpracovávání, který se odvíjí nejen od kvality samotného prohlížeče, ale samozřejmě i od výkonu počítače. Prakticky tedy nemá smysl uvádět absolutní hodnoty, ty jsou totiž pokaždé jiné a poměrně drasticky se liší, pakliže test provedete jednou na počítači s 3GHz Intelem a podruhé na starším Celeronu. Zajímaly mě tedy pouze relativní hodnoty, tedy o kolik byl každý z prohlížečů rychlejší vzhledem k referenčnímu – nejpomalejšímu – prohlížeči.

A vítězem se stává…

Asi nebude překvapením, že se tímto referenčním prohlížečem stal Internet Explorer 7, potěšila ale druhá betaverze Internet Exploreru 8. Sice se podle všech předpokladů umístila na předposledním místě, test SunSpider ale zvládla čtyřikrát rychleji než její současný předchůdce.

Klepněte pro větší obrázek
Na ose Y najdete násobky rychlosti oproti referenčnímu Internet Exploreru 7
Jedná si nicméně o test, Chrome v reálném nasazení skutečně není 18x rychlejší

Na další příčce se umístila Opera 9.52 následovaná prohlížečem Safari 3.1.2, který zpracoval test sedmkrát rychleji. To ostatně odpovídá i měření Applu, který na svých stránkách uvádí šestinásobnou rychlost. Zlatá medaile patřila až do konce léta Firefoxu, po uvolnění prohlížeče Chrome k veřejnému testování se ale musel pohrobek Mozilly spokojit se stříbrem a desetinásobnou rychlostí. První místo tedy podle mého testu patří prohlížeči Google Chrome, který se s benchmarkem SunSpider vypořádal 18x rychleji než Internet Explorer 7.

V grafu nicméně najdete i dva hypotetické výpočty pro budoucí prohlížeče Safari 4 a Firefox 3.1. Pokud bude Firefox 3.1 skutečně téměř dvakrát rychlejší než současná verze, měl by překonat i současný Chrome. Safari 4 by pak mělo setrvat na bronzové příčce. Podobné spekulace jsou však poměrně předčasné, odhadované rychlosti totiž vychází z testovacích verzí a předpokladů na stránkách výrobců a po novém roce se ostatně může zrychlit i samotný prohlížeč od Googlu.

SquirrelFish a TraceMonkey

A proč se vlastně Firefox a Safari tak výrazně zrychlí? Na „vině“ budou nové systémy pro zpracovávání Javascriptu. Safari 4 získá mnohem efektivnější motor SquirrelFish, Mozilla pro změnu podstatně vylepší svůj systém SpiderMonkey o technologii „Trace Trees“ a výsledkem bude nový motor TraceMonkey s podporou JIT kompilace. Skript se tedy při zpracování přeloží do nativního kódu, díky čemuž by se měl později výkonnostně srovnat s běžným strojovým kódem. JIT kompilace totiž může být výkonnější než běžný „EXE program“, protože při překladu může brát v úvahu konkrétní procesor s podporou nejrůznějších multimediálních instrukcí. Do budoucna by tak měl umět TraceMonkey třeba SSE instrukce.

Podívejte se, co dokáže JIT kompilace s technologií Trace Trees na příkladu webového grafického editoru

TraceMonkey si můžete vyzkoušet už v současných nočních sestaveních Firefoxu 3.1, je třeba jej ale povolit v registru about:config – konkretně pak v klíčích javascript.options.jit.chrome a javascript.options.jit.content. I v takovém případě se nicméně jedná o testovací verzi a výkon se může od finálního uvedení Firefoxu 3.1 lišit.

Nakonec ještě jedna rada. Prakticky všichni výrobci prohlížečů si tak trošku pohrávají se slovy a na základě výsledků (zpravidla SunSpideru) na svých stránkách píší, že jejich Javascript engine bude desetkrát rychlejší než ten, který najdete v Internet Exploreru. Benchmark a realita jsou však dvě zcela odlišné nádoby, takové webové prostředí Gmailu nebo webového alba Picasy se vám v Google Chromu skutečně nezobrazí 18x rychleji než v IE7.

Témata článku: Prohlížeče, Javascript, Benchmark, Motor

13 komentářů

Nejnovější komentáře

  • sioga 2. 1. 2009 15:20:49
    samozrejme ze sam ie neni moc rychly. prosim poradte kdyz v ie 7,8 otevrit...
  • waclaw66 27. 9. 2008 11:45:55
    V8 Benchmark Suite: Chrome 0.2.149.30 - 1820 Firefox 3.0.3 - 220 IE 6 -...
  • halogan 27. 9. 2008 11:39:07
    Má být ještě 2x rychlejší než SquirrelFish, který máte v grafu. Více na...
reklama
Určitě si přečtěte

UPC překopli páteřní kabel. V Brně i druhý den nejede internet ani kabelovka

UPC překopli páteřní kabel. V Brně i druhý den nejede internet ani kabelovka

** V Brně byl velký výpadek služeb UPC ** Důvodem je překopnutý páteřní kabel ** V některých lokalitách služby stále nefungují

5.  12.  2016 | Jakub Čížek | 103

17 expertek Microsoftu předpovědělo rok 2027. Splní se alespoň něco?

17 expertek Microsoftu předpovědělo rok 2027. Splní se alespoň něco?

** Zmizí klasické vyhledávače ** Budeme programovat buňky ** Kvantové počítače překonají šifry

6.  12.  2016 | Jakub Čížek | 36

11 tipů na dobrý stolní počítač: od základu po herní mašiny

11 tipů na dobrý stolní počítač: od základu po herní mašiny

** Postavte si stolní počítač! Máme pro vás 11 vzorových sestav s rozpisem komponent ** Většina tipů cílí na hráče, věnujeme se ale i základnímu PC a počítačům na střih videa ** Nadělte si nový počítač třeba pod stromeček

5.  12.  2016 | Adam Kahánek | 74

Nejlepší notebooky nad 20 tisíc: poradíme, které teď chcete

Nejlepší notebooky nad 20 tisíc: poradíme, které teď chcete

** V notebooku s cenou nad 20 tisíc nesmí chybět kvalitní displej a rychlé úložiště ** Za dalších deset tisíc můžete dostat navíc styl nebo výkonnější komponenty ** Vybírat můžete z různých velikostí i konstrukcí

8.  12.  2016 | Stanislav Janů | 85


reklama