Který webový prohlížeč je nejrychlejší?

Benchmarky, které měří rychlost vykreslování webových stránek, se těší stále větší popularitě. Skutečně lze ale komplexní webový prohlížeč popsat jednoduchým číslem a pořadím?

Malou finskou společnost Futuremark, která zaměstnává skupinku programátorů, asi netřeba příliš představovat. Její produkty totiž zná každý, kdo měl kdy potřebu srovnávat výkon svého počítače s okolím. Futuremark před více než deseti lety představil testovací program 3DMark, který dodnes spolehlivě měří multimediální výkon počítače a stal se na tomto poli nepsaným standardem.

Futuremark později nabídl i další nástroje, tím nejnovějším je pak Peacekeeper. Dozorce míru dohlíží na již patnáct let trvající tržní války webových prohlížečů a definitivního rozuzlení věčné otázky „kdo je nejlepší“ chce docílit pomocí konečně funkčních testů výkonu prohlížečů. Webové stránky a složité aplikace plné javascriptového Ajaxu jsou totiž už natolik komplikované, že si svým zpracováním nezadají s plnohodnotnými desktopovými programy. Ve velké míře se tu zapojuje procesor, operační paměť, pevný disk a samozřejmě i umění vývojářů. A to vše je třeba změřit.

O testování rychlosti Javascriptu na Živě.cz:

SunSpider test

V posledních letech vzniklo hned několik zajímavých testů, které se pokusily zjistit, jak na tom vlastně dnešní prohlížeče jsou – který z nich je skutečně nejrychlejší při zpracovávání náročného Javascriptu.Ve své podstatě fungují velmi podobně jako 3DMark, zpravidla se ale jedná jen o chytré webové stránky, které postupně spouští sadu nejrůznějších javascriptových funkcí a počítají čas, za který se v daném prohlížeči zpracují.

První generace webových benchmarků počítala čas strávený výpočtem jen velmi jednoduchého kódu. V prohlížeči se zpravidla zpracovávaly elementární matematické operace, konverze, transformace a práce s textovými řetězci. Podobné testy mají jednu velkou výhodu, spustíte je prakticky v každém prohlížeči, protože pracují s naprostými základy Javascriptu. Představitelem první generace benchmarků je dodnes pravděpodobně nejpopulárnější test SunSpider. Mají ho na svědomí vývojáři Webkitu – vykreslovacího jádra, které najdete v různých obměnách především v Safari a Google Chrome.

sunspider.png
SunSpider podle některých kritiků generuje špatné výsledky na výkonných počítačích
Jeho operace jsou prý už příliš jednoduché a počítač je zpracuje velmi rychle, čímž vznikne chyba v časování

SunSpider a jemu podobní však v sobě skrývají i jednu principiální nedokonalost. Jsou sice kompatibilní napříč všemi prohlížeči, testují ale javascriptové rutiny, které se v reálném internetovém světě vůbec nevyskytují. Ostatně posuďte sami, je důležitější test, který tisíckrát po sobě spočítá elementární matematickou transformaci, nebo naopak výpočet času stráveného nad zpracováváním Ajaxu třeba na populárním Facebooku? Další slabinou je prý podle některých kritiků skutečnost, že SunSpider a jemu podobní pracují chybně na výkonnějších procesorech.

Dromaeo test

Druhou možnost si zvolil i John Resig blízký vývojovému týmu Mozilly a loni představil komplexní test Dromaeo. Ten se skládá hned z několika částí včetně staršího SunSpideru, přidává ale další testy včetně měření rychlosti zpracovávání knihoven jQuery, Prototype a aplikačního rozhraní DOM API. Pokud vám ona zkratka nic neříká, vězte, že se tato technologie uplatňuje zejména v moderním Ajaxu při dynamické konstrukci webových stránek. Dromaeo benchmark je dnes širokou komunitou odborníků považován pravděpodobně za ten nejlepší javascriptový test, který by už měl mnohem přesněji odpovědět na otázku, který z webových prohlížečů je skutečně nejrychlejší. Přesto i on má své vady na kráse.

Jednoduše řečeno je už natolik komplexní, že pracuje i s takovým kódem, který mnohé prohlížeče nemusí podporovat a testem pak neprojdou, respektive zpracují jen některé z jeho částí. To se ostatně týká i Internet Exploreru, který přes veškerou snahu jeho vývojářů stále nepodporuje mnohé exotické záležitosti Javascriptu, DOM API, kaskádových stylů a dalších vlastností moderních webových aplikací. Další překážkou je časová náročnost - na pomalejším počítači se bude test zpracovávat téměř půl hodiny.

Pokud si budete chtít změřit výkon svého prohlížeče, stojí za zkoušku ještě jeden z nejmladších testů – V8 Benchmark Suite od Googlu, který stojí kdesi na předělu mezi SunSpiderem a Dromaeo benchmarkem.

Peacekeeper test

Všechny tyto testy mají nicméně na svědomí autoři nebo popularizátoři konkrétních prohlížečů. Najde se tedy velmi mnoho kritiků, podle kterých V8 Benchmark Suite dává přednost testům, ve kterých si vede dobře Chrome, SunSpider si pak prý lépe rozumí s webkitovými prohlížeči v čele se Safari.

Nezávislých kvalitních testů je skutečně velmi málo, zajímavou alternativou ale může být právě Peacekeeper od Futuremarku.Tento benchmark se od ostatních liší tím, že samotné testování probíhá v Java appletu a program si při něm zjistí i výkon vašeho hardwaru pro zpřesnění výsledků.

peacekeeper.png  peacekeeper.png
Peacekeeper je díky Javě interaktivní a hezký na pohled
Výsledky můžete díky unikátní adrese dále rozšiřovat o nové prohlížeče

Java applet zajistí podporu v prohlížečích, i když i ta je tak trochu ošidná, v plné síle je totiž zatím funkční jen na Windows. Pokud si nainstalujete běhové prostřední Javy, můžete si samozřejmě vyzkoušet Peacekeeper i na Mac OS X a Linuxu, v takovém případě ale neproběhne test vašeho hardwaru a výsledky se proto nezapočítají do globálních statistik. I tak ale získáte určité povědomí o tom, který z prohlížečů se bude na vašem počítači chovat nejsvižněji.

A co vlastně Peacekeeper testuje? Podle jeho autorů inženýři nejdříve prozkoumali ty nejtypičtější webové služby od YouTube po Facebook a vybrali ty nejčastější javascriptové rutiny. Benchmark tedy nepočítá rychlost zpracovávání okrajového kódu, ale toho konkrétního, se kterým se setkáváte při každodenním surfování. V tomto smyslu se velmi podobá Dromaeo testu od Mozilly.

peacekeeper.png
Výsledky našeho testu Peacekeeper se v pořadí i poměru shodují s globální statistikou

Výsledkem testu je bodové ohodnocení rychlosti zpracovávání vykreslování, práce se sociálními sítěmi, zpracovávání grafiky, rozměrných polí, DOM a práce s textem. Toto jsou ve své podstatě všechny typické operace, se kterými se na webu setkáte. DOM má na starost dynamické změny podoby webové stránky, rychlost vykreslování vám zase napoví, za jak dlouho prohlížeč zobrazí velmi rozměrnou tabulku – s tím ostatně bojuje většina webových prohlížečů dodnes.

Testy berte s rezervou

Výsledky Peacekeeperu víceméně odpovídají realitě i ostatním testům. O první místo se přetahují webkitové prohlížeče Safari 4 a vývojová verze Chrome 3.0 a jejich rozdíl je skutečně velmi malý. Třetí pozici okupuje testovací Firefox 3.5. Ten loni ohlásil příchod nového javascriptového jádra TraceMonkey a nebýt podzimního představení Chromu, dnes by se mohl honosit titulem „druhý mezi nejrychlejšími“.Bramborová medaile náleží Opeře ve verzi 9.64, další pak stabilnímu Firefoxu 3.0 a Internet Exploreru 8.

Hlavní rozdíl oproti ostatním testům ale spočívá v poměrech. Zatímco podle takového SunSpideru je Chrome nebo Safari skoro až desetkrát rychlejší než Internet Explorer 8, Peacekeeper je mnohem praktičtější jeho poměry totiž tak dramatické nejsou a spíše odpovídají realitě.

I tak ale berte Peacekeepera s rezervou, rychlost totiž není vše – pro většinu surfařů je mnohem důležitější uživatelské rozhraní na které jsou zvyklí a systémové nároky, které jsou třeba v případě takového Safari skutečně obrovské. Rychlost je zde zároveň poměrně ošidná veličina, skutečné rozdíly jsou totiž zpravidla v řádu stovek milisekund. Běžná stránka se načte v Chromu, Firefoxu nebo Opeře za prakticky stejný čas.  

I když jsou tedy Chrome a Safari matematicky nejrychlejší javascriptové prohlížeče současnosti, nic to nemění na tom, že se jejich tržní podíl přes masivní marketingovou masáž zatím pohybuje v jednotkách procent.

Nesouhlasíte? Zapojte se!

Možná se ptáte, proč jsem nevybral stabilní verzi Chromu, na pořadí by se ale nic nezměnilo. Třetí generace prohlížeče od Googlu se zároveň zajímavě přibližuje Safari 4. Zatím nejnovější sestavení Firefox 3.5 Preview (B99) je pak v testu čistě z důvodu otestování nového javascriptového jádra TraceMonkey, které se zatím nemůže s V8 z Chromu a SquirrelFish ze Safari srovnávat.

Máte s testy jiné zkušenosti? Získali jste jiné hodnoty a pořadí? Zapojte se do testu a pošlete mi původní výsledky testů SunSpider, Dromeao nebo Peacekeeper pro šestici prohlížečů na můj redakční e-mail (uveďte i model svého procesoru a operační systém). Pokud se jich sejde dostatek, připravím je do některého z příštích článků.

Diskuze (89) Další článek: Vyhledávač WolframAlpha prošel velkým vylepšením

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,