Megjelent a Sunspider 1.0
A Chrome, Safari és immár az Opera alapjául is szolgáló WebKit böngészőmotort fejlesztő csapat még 2007 decemberében mutatta be a JavaScript-futtatási sebesség mérésére szolgáló tesztet. Ez mára a benchmark programok egyik alapvető darabja, ami a böngésző scriptfeldolgozási sebességét méri, igyekezve a valós körülmények között előforduló különbségeket demonstrálni.
A teszt célja, hogy a weboldalakon található JavaScript-kódok feldolgozási sebességét mérje, mutassa, hogy egy adott hardver és az azon futó böngésző milyen gyorsan képes végrehajtani a műveleteket, amikre a weboldalak “kérik”. Az elmúlt évek böngészőháborújának elsődleges frontvonala leginkább a JavaScript-teljesítményről szólt és az újabb generációs JS-motorokkal büszkélkedett folyamatosan a Chrome, a FireFox és időnként az Internet Explorer is.
Alap
A benchmark a JavaScript-műveletek széles köréből szemezget, használ Date, String, Regexp műveleteket, numerikus számításokat, objektum-orientált és funkcionális feladatokat. A többi teszthez képest a Sunspider különlegessége, hogy olyan egyveleget szedett össze, amire nehéz optimalizálni, nehéz kijátszani, az eszköz-böngésző együttes nyers teljesítményét úgy méri, hogy az biztonságosan hasonlítható össze különböző platformok között. Egy mai modern számítógép és egy modern böngésző a tesztet 100-200 ezredmásodperc alatt fejezi be, egy csúcskategóriás idei okostelefon 1100-1200, egy tavalyi 1400-1600 ezredmásodperc alatt - egy középkategóriás okostelefon 5-7 másodpercig is küzd.
Komoly különbség alakulhat ki a hardver mellett a különböző böngészők közt. iOS-en például a Chrome böngésző nem használhatja a Safari WebKit JS motorját, csak egy régebbi, sokkal lassabb motort a platform korlátozásai miatt, így a Safari egy iPhone 4S-en 1800 ms alatt futtatja a tesztet, míg a Chrome 6800 ms alatt, pedig Androidon vagy Windows alatt éppen a Chrome szokott a leggyorsabb lenni.
A teszt eredeti megjelenése óta mind a hardverek, mind a böngészők JS-motorja rengeteget fejlődött, az aktuális csúcseredmények 30-40-szer jobbak lettek mára. A Sunspider azonban nem csak a nyers teljesítményt méri, hanem arra is érzékeny, hogy a JavaScript-feldolgozó motor mennyire gyorsan “melegszik be” rövid kódok futtatásához. A legtöbb weboldal ugyanis nem használ dedikált eseménykezelőket a kódokhoz, így a valódi webes teljesítmény megítéléséhez sokkal fontosabb a gyors lefutású változatos kódok mérése.
Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.
Az új verzió, a Sunspider 1.0 a korábbi 0.9.1-hez képest számos hibajavítást tartalmaz, aminek eredménye, hogy a teszt még pontosabb és jobban összehasonlíthatóak az eredmények. Az egyik legnagyobb újdonság talán az, hogy az eredeti teszt megjelenésekor a fejlesztők még nem védekeztek egyszerű “csalások” ellen, amivel érdemben lehet javítani a végeredményt. Az egyik ilyen, hogy a JS-motorok nagy része ma már nem futtatja le azokat a kódokat, aminek eredményeit nem használja semmi, ezért a WebKit a Sunspiderben minden egyes méréshez kénytelen volt betenni a teszt végére olyan elemeket, amik bekérik a korábbi műveletek eredményeit, különben a feldolgozó átugrotta volna azokat és fals eredményeket adott volna. Az 1.0-ás verzióban a 26 tesztből 23 kapott visszaellenőrzést, de úgy, hogy ez kevesebb mint 2 százalékkal növelte meg a tesztet.
Pontosítás
Változott még a tesztek közti szünet kérdése is. A Sunspider a 26 tesztet egymás után sokszor futtatja le, hogy a szórásból eredő hibahatárt minimálisra csökkentse, viszont az ismétlések és a tesztek között is volt eddig egy beépített fél másodperces, illetve 10 ezredmásodperces szünet, így a fejlett energiagazdálkodási funkciókkal rendelkező processzorok rosszabb eredményeket adtak vissza. A tesztek közé épített 10 ms-es szünet ugyanis hosszabb volt, mint maga a teszt, így a processzorvezérlés visszavette az órajelet. Az 1.0-ás verzióban viszont már nincsenek késleltetések, ez a probléma megszűnt teljesen. A teszt futtatás egyébként így sokkal kevesebb ideig is tart.
A teszt egyébként az eddigihez hasonlóan a Webkit.org oldalán érhető el, de bármelyik webes keresőbe a “Sunspider” kifejezést beütve első helyen kapjuk immár az 1.0-ás verzió aloldalának linkjét. A frissítésről további alapos leírás pedig a hivatalos WebKit blogon található.