:

Szerző: Dojcsák Dániel

2013. május 3. 12:15

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.

Machine recruiting: nem biztos, hogy szeretni fogod

Az AI visszafordíthatatlanul beépült a toborzás folyamatába.

Machine recruiting: nem biztos, hogy szeretni fogod Az AI visszafordíthatatlanul beépült a toborzás folyamatába.

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ó.

Eleged van az eltérő környezetekből és az inkonzisztens build eredményekből? Frusztrál, hogy órákat kell töltened új fejlesztői környezetek beállításával? Többek között erről is szó lesz az AWS hazai online meetup-sorozatának ötödik, december 12-i állomásán.

a címlapról