Test prohlížečů: Je rychlejší Chrome nebo Safari?

Na konci roku vyšel Firefox 3.1 Beta 2, k dispozici je také IE 8.0 RC1, Opera 10 Alpha nebo Chrome 2.0 Beta. Který z nich má nejrychlejší Javascript?

Letošní rok bude stejně jako ten minulý patřit webovým prohlížečům. V prvním pololetí Microsoft představí finální verzi Internet Exploreru 8, Mozilla uvede Firefox 3.1 se zcela novým javascriptovým motorem TraceMonkey, Apple snad konečně vydá Safari 4 pro Windows a Opera se dočká již své desáté generace.

Hledáte rychlé prohlížení nebo vybavený program?

Každý z nás preferuje webový prohlížeč podle různých kritérií. Zatímco majitele slabšího počítače bude zajímat především výkon, vlastník herní mašiny nad ním jen mávne rukou a bude chtít pro změnu třeba luxus uživatelského rozhraní. Testovat webové prohlížeče podle objektivních pravidel je tedy téměř nemožné.

Přesto bych se dnes opět vrátil ke svému zářijovému testu prohlížečů z hlediska jejich javascriptového výkonu. Google tehdy uvolnil Chrome se systémem V8, který se chlubil obrovskou rychlostí AJAXu, který dnes tvoří páteř moderního webu, a autoři vykreslovacího jádra WebKit pro změnu slibovali nový javascriptový motor SquirrelFish, který Chrome i konkurenci hravě překoná. O tom samém se začalo mluvit i v souvislosti s obdobným systémem TraceMonkey pro Firefox 3.1, což bude hlavní novinka této verze.

Klepněte pro větší obrázek
Nový JS motor TraceMonkey pro Firefox 3.1 obsahuje JIT překladač,
který je ve výchozím stavu zapnutý pro obsah, a pokud jej vypnete, JS se zpomalí na úroveň Firefoxu 3.0

Uběhlo několik měsíců a všechny slíbené technologie jsou již dávno k dispozici přinejmenším pro testovací účely. Změnilo se něco? Je Chrome stále prohlížečem, který si nejrychleji poradí s Javascriptem?

Nejlepším testem výkonu prohlížeče je...

Výkon Javascriptu lze dnes testovat rozličným množstvím testů a komplexních benchmarků a bez nadsázky lze říci, že spolehlivý není ani jeden z nich. Nejlepším testem je běžná práce s webem a subjektivní pocit, který prohlížeč je svižnější. Zatímco u nové a „nabušené mašiny“ rozdíl téměř nepoznáte, na starším levném notebooku s Celeronem a 512 MB RAM (a je jich v oběhu skutečně mnoho) je ale rozdíl mezi doplňky vybaveným Firefoxem a zatracovaným Safari obrovský. Ostatně zkuste si na starém počítači spustit třeba webová alba na Google Picase nebo některý z mapových serverů na rozměrném monitoru. Obecně to platí ale o všech webových aplikacích založených na některé z implementací AJAXu – asynchronního webu.

Pro test prohlížečů jsem opět jako minule použil benchmark SunSpider od tvůrců jádra WebKit. SunSpider je jednoduchý, hojně používaný a – velmi přitažený za uši, jeho výsledky totiž příliš nekorelují skutečnou práci s webem, přesto jej lze použít alespoň pro základní srovnání.

Abych toto své tvrzení něčím potvrdil, otestoval jsem všechny prohlížeče také v jednom z dílčích testů velmi komplexního testu Dromaeo od tvůrců jádra Gecko, které pro změnu používá Mozilla. Dromaeo je celý balík testů, který testuje prohlížeč na samotný JavaScript, ale i na DOM API a další technologie, které se velmi často používají s AJAXem.

Já si vybral test, který zjistí, jak si každý z dílčích prohlížečů poradí s javascriptovými knihovnami jQuery a Prototype. Pokud vám podobné knihovny nic neříkají, vězte, že je používají celé stovky a tisíce skriptů na webu včetně mnoha AJAX implementací. Rychlost práce s těmito knihovnami tedy o práci s moderním webem vypovídá mnohem více než poměrně nízkoúrovňový SunSpider.

V mém testu se výsledky obou benchmarků kupodivu poměrně dost rozcházely.

SunSpider

SunSpider testuje výkon javascriptového enginu opakováním poměrně nízkoúrovňových úkolů od klasických matematických výpočtů přes šifrování až po práci s řetězci. Každý test se několikrát opakuje, aby se předešlo nahodilým odchylkám. SunSpider se věnuje pouze JavaScriptu, DOM API aj. nebere v potaz, díky tomu je ale poměrně kompatibilní, můžete pomocí něj otestovat prakticky libovolný prohlížeč. Výsledkem SunSpideru je komplexní přehled času stráveného výpočtem. Mě zajímal především součet všech dílčích časů a tedy celkový výsledek testu.

Uvádět délku benchmarku nemá smysl, čas se totiž liší počítač od počítače v závislosti na jeho výkonu. Údaje v grafu níže jsou tedy relativní a vztažené k tomu nejpomalejšímu a tedy referenčnímu prohlížeči – není to nikdo jiný než zastarávající Internet Explorer 7.

Klepněte pro větší obrázek
Výkon Javascriptu v prohlížečích podle testu SunSpider: vítězem je Chrome a nejnovější verze WebKitu

Z letmého pohledu na graf je zřejmé, že nedávno vydaná RC1 verze Internet Exploreru 8 si už nevede vůbec špatně a předehnala stále hojně používaný Firefox 2.0. Střed grafu je zastoupen současnými stabilními prohlížeči Opera 9.63, Safari 3.2.1 a Firefox 3.0. Hrozivá pozice Opery 10 Alpha s inovovaným jádrem, jejiž výrobci slibují třicetiprocentní zvýšení výkonu, je dána buď charakterem SunSpider testu nebo stále časným vývojem – Alpha je Alpha.

Ve středu najdete ještě vývojářskou verzi Safari 4.0 pro Windows (Developer Preview 1), kterou Apple uvolnil už před více než šesti měsíci, a vzhledem k umístění se očividně jedná ještě o verzi bez nového enginu SquirrelFish.

Pak ale přichází ostrý zlom a celkem zarovnaná řada, kterou lze bez nadsázky nazvat jako „generace 2009“. Patří sem Firefox 3.1 Beta 2, který kupodivu nepřekonal současnou stabilní verzi Google Chrome, a nakonec ještě nejnovější noční sestavení WebKitu pro Windows. Pokud tedy chcete mít po ruce prohlížeč s nejrychlejším javascriptovým enginem, stačí si stáhnout instalační balíček WebKitu ze stejnojmenného webu a přeinstalovat jím základní jádro v libovolném Safari prohlížeči.

Klepněte pro větší obrázek  Klepněte pro větší obrázek
Nový WebKit můžete nainstalovat do starého Safari, které pak pokoří jak SunSpider test, tak Dromaeo

Z čistého porovnání by měl být nejnovější WebKit až 16x rychlejší než IE7, to je ale samozřejmě v praxi nesmysl, takového výkonu byste totiž dosáhli pouze tehdy, pokud byste používali skutečně velmi složitou javascriptovou aplikaci s elementárními funkcemi jazyka. Na běžném AJAXu pocítíte zrychlení možná v řádu několika desítek až stovek procent a opět především na pomalejším počítači. A nebo ještě lépe řečeno, zpracovávání elementárních funkcí JS je ve WebKitu sice 16x rychlejší, u komplexní webové aplikace se to ale tak výrazně neprojeví, protože má zcela jiný charakter, není to ryze výpočetní matematická úloha.

Dromaeo – test knihoven jQuery a Prototype

Dromaeo funguje trochu jinak než SunSpider, jeden z jeho dílčích testů tedy logicky dopadl trochu jinak. I zde jsou poměry obrovské a v reálném nasazení tedy naprosto ze světa sci-fi (webová stránka ostatně není pouze Javascript), změnilo se ale pořadí prohlížečů. Jen připomenu, že testy proběhly v jeden den, na totožné hardwarové a softwarové konfiguraci.

Výsledkem Dromaeo benchmarků není čas strávený testováním, ale průměrný počet proběhnuvších operací za sekundu u každé dílčí zkoušky. Vybraný test pracoval s technologií DOM a oblíbenými AJAX knihovnami jQuery a Prototype, které opakovaně nastavovaly interaktivně CSS styly, přidávaly do stránky asynchronně nové objekty aj. – jednoduše řečeno taková malá AJAX simulace.

Klepněte pro větší obrázek
Výkon Javascriptu v prohlížečích podle testu Dromaeo: pořadí vítězů se nezměnilo, propadl se Firefox

Jako referenční prohlížeč tentokráte posloužil Internet Explorer 8 RC1. Jestli si nový testovací Internet Explorer v SunSpideru nevedl špatně, v tomto případě jej pokořil i starý Firefox a nejrychlejší prohlížeč jej překonal dokonce více než třináctkrát. Kupodivu celkem výrazně selhal Firefox včetně oslavované verze 3.1, překonal jej totiž i starý prohlížeč Safari 3.2.1. První tři místa pak byla totožná se SunSpiderem, rozebrali si je stabilní a zkušební Google Chrome a opět nejnovější WebKit implantovaný do zcela běžného Safari pro Windows.

Aktualizováno: Podle čtenářů novou testovací verzi Internet Exploreru 8.0 Release Candidate 1 překoná v tomto testu dokonce stařičký Internet Explorer 7.

Benchmarky berte s rezervou

A jakou jsem si pro dnešek vybral pointu? Z grafů výše je patrné, že onou pointou bude přeceňovaná důvěra v podobné testy včetně ACID testování a dalších. I jejich autoři uznávají, že mají své slabiny a jsou to pouze teoretické výpočty za účelem testování, které se reálnému požití prohlížeče pouze přibližují. Jinými slovy, Chrome není 13x rychlejší než Internet Explorer, stejně jako Opera, která se může pochlubit výborným výsledkem v populárním ACID3 testu, nezajistí, že každý web bude pracovat tak, jak má. Případně pokud to otočím, prohlížeč, který neprošel ACID3 testem není automaticky špatným prohlížečem, naprostá většina současných webů je totiž optimalizovaná podle deset let starých W3C standardů a používá pouhé základy kaskádových stylů.

Vysoké skóre v ACID testu tak spíše působí jako vděčný marketingový tah a informace webovým vývojářům, že prohlížeč si již poradí s technikami, které ale dnes používá stále zanedbatelné množství tvůrců webových stránek.

Stejně tak práce s knihovnou jQuery, AJAXem a rozličnými javascriptovými efekty bude v Internet Exploreru 8 prakticky totožná jako v Opeře nebo Safari, ačkoliv papírově – teoreticky – si budou po vývojové stránce oba prohlížeče na míle vzdálené.

A co vy? Jak rychlý je váš prohlížeč a jste s ním spokojení?

 

 

Klepněte pro větší obrázek

Diskuze (49) Další článek: Mozilla investuje 100 tisíc dolarů do formátu Ogg

Témata článku: Software, Prohlížeče, Internet, Safari, Nejnovější API, Pro, Windows Developer, Základní jádro, Matematická úloha, Rychlé prohlížení, SAF, Špatný prohlížeč, Starý počítač, Subjektivní pocit, Nejnovější verze, Nejrychlejší prohlížeč, Celkový výsledek, Chrom, Test, Komplexní test, TES, Dílčí test, Herní knihovna, DOM API, Běžná práce, Software na Heureka.cz