Sputnik - porovnejte si kvalitu implementací JavaScriptu v prohlížečích

12. 11. 2009 0:21 (aktualizováno) | Martin Hassman

Google před časem zveřejnil projekt Sputnik sestávající z více jak 5000 testů zaměřených na standard ECMA-262 (což je ECMAScript alias JavaScript).

Testy si nyní můžete spustit přímo ve vašich prohlížečích. Průběh trvá několik minut. Autor webové verze Juriy Zaytsev zveřejnil srovnávací graf, který můžete vidět níže (menší čisla = menší počet chyb = lepší implementace vzhledem ke standardu). Při namátkovém testování jsem viděl o něco menší čísla než ta v grafu, ale více méně odpovídala, tak předpokládám, že i zbytek grafu bude:

O pořadí v grafu

Jako první je Opera (9.64!!!) těsně následovaná Firefoxem a Chrome, o něco dále je Safari a následně s větším odstupem IE.

Všimněte si, že rozdíly mezi jednotlivými verzemi IE jsou minimální – je vidět, že zatímco renderovací jádro bylo v IE8 přepsáno, tak JS engine zůstal stejný. Zároveň můžete vidět, jak velký pokrok za poslední roky udělalo Safari (možná ještě pamatujete, že jeho starší verze měly s JavaScriptem docela problém). Překvapivý je ovšem velký propad Opery 10 (je na tom dokonce hůř než IE!!!), zatímco Opera 9.64 je nejlepší v řadě. Tomu nějak nerozumím. Opera sice pracuje na novém JS engine s názvem Carakan (který má být poměrně slušně rychlý) – ten má ale podle všeho přijít až po verzi Opera 10. Opera 10 měla pokud si pamatuji obsahovat stejný engine jako Opera 9.x, možná jen s nějakými vylepšeními (v relase notes je zmiňován nový engine na regulární výrazy, ale že by mohl za tak velký rozdíl, to se mi nezdá). Jsem proto z toho rozdílu zmaten a budu moc rád za nějaké vysvětlení.

Více se o celé testu dozvíte z článku Sputniktests web runner, ze kterého jsem převzal i graf výše.

  • 10. 11. 2009 17:26

    David Majda (neregistrovaný) 62.24.93.---

    Pro vysvětlení propadu Opery by to chtělo si projít výsledky testů, ale jeden možný důvod mě napadá: Sputnik AFAIK testuje ECMAScript 3, zatímco prohlížeče se pomalu ale jistě připravují na budoucí ECMAScript 5. Je tedy možné, že některé věci v Opeře 10 už fungují podle nové specifikace a v testech staré tak generují chyby - vzhledem k podrobnosti těch testů by to bylo docela dobře možné.

    Další možný důvod propadu je zlepšení kompatibility s webovým obsahem či ostatními prohlížeči, které místy může jít proti specifikaci.

  • 10. 11. 2009 17:53

    Martin Hassman (neregistrovaný) 86.49.82.---

    Davide o ES5 i kompatibilitě s weby jsem trochu přemýšlel, ale to by muselo být podobně znát i u některých dalších prohlížečů - nejen u Opery.

  • 10. 11. 2009 18:25

    lukas ;) (neregistrovaný) 92.62.226.---

    Projel jsem teď test na Safari na Macu, konkrétně ve verzi 4.0.3 (5531.9) a výsledek je 239. Navic jsem koukal, ze ve výpisu chyb je velká spousta opakujících se věcí, konkrétně třeba hláška "The Date.prototype­.setDate property has not the attributes DontDelete", která se opakuje 40x pro jednotlive atributy třídy Date a podobné "skupiny" chyb jsou tam asi 4 další...

  • 10. 11. 2009 18:42

    Martin Hassman (neregistrovaný) 86.49.82.---

    @lukas Ano, cela ta sada testu je dost podrobna a jedna pricina tak casto vyvola jednotky az desitky selhanych testu. To je videt i ve vysledcich u dalsich prohlizecu.

  • 10. 11. 2009 18:48

    Elven (neregistrovaný) 188.123.100.---

    FF 3.5 - 213 chyb

  • 10. 11. 2009 18:59

    David (neregistrovaný) 94.242.71.---
    SeaMonkey 2.0
    Current test: 15_Native_ECMA_Scrip­t_Objects/15.11_E­rror_Objects/15­.11.4_Properti­es_of_the_Error_Pro­totype_Object/S15­.11.4_A4
    Tests completed: 5230
    Total errors: 189
    Total failures: 24
    Elapsed time: 12:29
    Status: Completed. Final score (errors + failures; less is better): 213
  • 10. 11. 2009 20:47

    mnicky (neregistrovaný) 95.103.100.---

    Prave som skusal prehliadac Midori (verzia 0.2.0) a vysledok je az neuveritelny: iba 3 chyby!
    Cim to moze byt?

  • 10. 11. 2009 21:15

    Martin Hassman (neregistrovaný) 86.49.82.---

    @mnicky Midori sprostě podvádí! 8-)

  • 10. 11. 2009 21:58

    Martin Hassman (neregistrovaný) 86.49.82.---

    @mnicky No vždyť povídám. Sprostý podvod!

  • 10. 11. 2009 21:53

    mnicky (neregistrovaný) 84.47.86.---

    Midori (verzia 0.2.0) tentokrat dokonca:

    Current test: 15_Native_ECMA_Scrip­t_Objects/15.11_E­rror_Objects/15­.11.4_Properti­es_of_the_Error_Pro­totype_Object/S15­.11.4_A4
    Tests completed: 5230
    Total errors: 0
    Total failures: 0
    Elapsed time: 5:45
    Status: Completed. Final score (errors + failures; less is better): 0

  • 11. 11. 2009 13:00

    David (neregistrovaný) 78.102.13.---

    Taky se trochu "pochlubím":

    Midori 0.2.0-5434ad6 (git verze), WebKit r50540:

    Current test: 15_Native_ECMA_Scrip­t_Objects/15.11_E­rror_Objects/15­.11.4_Properti­es_of_the_Error_Pro­totype_Object/S15­.11.4_A4
    Tests completed: 5230
    Total errors: 183
    Total failures: 115
    Elapsed time: 8:03
    Status: Completed. Final score (errors + failures; less is better): 298

    Takže i na Midori dojde. Ale spíš to bude tím WebKitem.

  • 11. 11. 2009 1:03

    bq (neregistrovaný) 158.195.168.---

    Chromium 4 (rev. 31567) - 225

  • 11. 11. 2009 15:27

    Mr.Dan (neregistrovaný) 193.179.236.---

    FF 3.5.5
    Completed. Final score (errors + failures; less is better): 209

    FF 3.5.4
    Completed. Final score (errors + failures; less is better): 215

  • 11. 11. 2009 9:48

    tiso (neregistrovaný) 217.67.16.---

    ...tak toto vysvetľuje prečo mi nebežia niektoré veci v novej Opere, ktoré v starej bežali. Už viem kde udělali soudruzi z Norska chybu...

  • 11. 11. 2009 8:23

    Patrick (neregistrovaný) 81.19.43.---

    Opera 10.10 beta, build 1857, 358 chyb

  • 11. 11. 2009 15:50

    šachy (neregistrovaný) 195.113.220.---

    FF 3.0.15
    # Tests completed: 5230
    # Total errors: 203
    # Total failures: 24
    # Elapsed time: 5:55
    # Status: Completed. Final score (errors + failures; less is better): 227

  • 11. 11. 2009 10:18

    Adam Hauner (neregistrovaný) 213.29.246.---

    SeaMonkey 2.0.1pre - 210 chyb
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.6pre) Gecko/20091108 SeaMonkey/2.0.1pre

    * Current test: 15_Native_ECMA_Scrip­t_Objects/15.11_E­rror_Objects/15­.11.4_Properti­es_of_the_Error_Pro­totype_Object/S15­.11.4_A4
    * Tests completed: 5230
    * Total errors: 186
    * Total failures: 24
    * Elapsed time: 6:54
    * Status: Completed. Final score (errors + failures; less is better): 210

  • 11. 11. 2009 16:39

    partizann (neregistrovaný) 195.80.183.---

    Shiretoko/3.5.5 == Firefox/3.5.5 v Archlinuxe
    Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091106 Shiretoko/3.5.5

    # Tests completed: 5230
    # Total errors: 185
    # Total failures: 24
    # Elapsed time: 6:25
    # Status: Completed. Final score (errors + failures; less is better): 209

  • 11. 11. 2009 19:25

    minem (neregistrovaný) 78.102.201.---

    FF 3.5.5 na Windows Vista Business 64bit
    # Tests completed: 5230
    # Total errors: 175
    # Total failures: 24
    # Elapsed time: 5:29
    # Status: Completed. Final score (errors + failures; less is better): 199

  • 11. 11. 2009 20:18

    livthomas (neregistrovaný) 213.215.102.---

    Firefox 3.5.4 pod Kubuntu 8.10 (64-bit):
    # Tests completed: 5230
    # Total errors: 177
    # Total failures: 24
    # Elapsed time: 7:33
    # Status: Completed. Final score (errors + failures; less is better): 201

  • 11. 11. 2009 21:18

    jirka (neregistrovaný) 89.235.12.---

    WebKit r50807:

    Tests completed: 5230
    Total errors: 84
    Total failures: 113
    Elapsed time: 5:35
    Status: Completed. Final score (errors + failures; less is better): 197

  • 11. 11. 2009 23:34

    Jindřich (neregistrovaný) 76.206.42.---

    FF 3.5 @ Windows 7 64bit

    Mozilla/5.0 (Windows; U; Windows NT 6.1; cs; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5

    # Tests completed: 5230
    # Total errors: 113
    # Total failures: 3
    # Elapsed time: 7:00
    # Status: Completed. Final score (errors + failures; less is better): 116

  • 12. 11. 2009 0:21

    Martin Hassman (neregistrovaný) 86.49.82.---

    Tak se nám to tu pěkně zvrhlo v malou soutěž 8-) Je dobré vidět, že se něco děje a že i na úrovni minoritních verzí nebo dokonce nočních buildů prohlížečů najdeme ve výsledcích rozdíly. Je vidět, že pořadí uvedené výše zatím více méně platí, ale nemusí to vydržet dlouho. Díky všem, kdo se zúčastnili.

Přidávat nové názory je zakázáno.

120na80.cz: Pyly útočí. Braňte se

Pyly útočí. Braňte se

DigiZone.cz: DVB-T2 à la Nova: „zadarmo“ bude jen ČT

DVB-T2 à la Nova: „zadarmo“ bude jen ČT

Lupa.cz: Stát chce vytěsnit malé firmy z trhu

Stát chce vytěsnit malé firmy z trhu

120na80.cz: 7 aktivit proti stresu

7 aktivit proti stresu

Vitalia.cz: Maurer: Nechci Jamieho Olivera za pět miliónů

Maurer: Nechci Jamieho Olivera za pět miliónů

Vitalia.cz: Proč jsou po vyřazení lepku zdravější?

Proč jsou po vyřazení lepku zdravější?

Podnikatel.cz: Statisíce plátců DPH podávají první hlášení

Statisíce plátců DPH podávají první hlášení

Podnikatel.cz: Ve hře jsou další výjimky u EET

Ve hře jsou další výjimky u EET

Lupa.cz: Jaký je Průvodce světem Arduina?

Jaký je Průvodce světem Arduina?

Podnikatel.cz: Nepřišlo vaše hlášení k DPH? Beřnák po vás jde

Nepřišlo vaše hlášení k DPH? Beřnák po vás jde

Lupa.cz: Hardwaru je dost. Jen aby bylo dost konstruktérů

Hardwaru je dost. Jen aby bylo dost konstruktérů

Podnikatel.cz: Kašlali na předpisy, byznys jim zavřeli

Kašlali na předpisy, byznys jim zavřeli

Vitalia.cz: Tyhle dorty se prostě nepovedly

Tyhle dorty se prostě nepovedly

Lupa.cz: V Brně vyvinuli rychlý internet do letadel

V Brně vyvinuli rychlý internet do letadel

Lupa.cz: Jak na internetu sehnat poctivého řemeslníka?

Jak na internetu sehnat poctivého řemeslníka?

DigiZone.cz: Böhmen und Mähren v režii Ondřeje Trojana

Böhmen und Mähren v režii Ondřeje Trojana

Lupa.cz: Další útok: po webu ČSSD je pod palbou i ČTK

Další útok: po webu ČSSD je pod palbou i ČTK

Vitalia.cz: Takhle ne! Nesnažte se urychlit vývoj dítěte

Takhle ne! Nesnažte se urychlit vývoj dítěte

Podnikatel.cz: Když si reklamou "zabíjíte" zákazníky

Když si reklamou "zabíjíte" zákazníky

Podnikatel.cz: EET funkční jako hlášení k DPH? Jen to ne

EET funkční jako hlášení k DPH? Jen to ne

Ušetřete