A SpiderMonkey és a TraceMonkey után itt a JägerMonkey

2010. február 28. 15:27, hup.hu

Mi ez a sok Monkey? A SpiderMonkey a Mozilla Firefox JavaScript motorjának neve. 2008 második felében "tracing" képességekkel látták el a SpiderMonkey-t. Az új képességnek - amely a TraceMonkey névre hallgat - köszönhetően a Firefox JavaScript értelmezője jelentős mértékben gyorsult. A TraceMonkey egész hatékony. Gondosan figyeli a ciklusokat, amelyeket aztán szupergyors assembly-vé alakít. Ezt hívják trace-elésnek. Ez szép, de sajnos a trace-elés nem mindig működik. Akadhatnak olyan komplex kódok, amelyek esetén rendkívül bonyolult jó trace-elést csinálni. A fejlesztők azt találták, hogy ha a trace-elés működik, akkor gyorsabbak tudnak lenni, mint egyébként. Viszont ha a trace-elés nem működik, akkor kénytelenek beérni azzal ami van, az old-school értelmezővel. Ilyenkor a JavaScript körülbelül olyan sebességgel fut, mint ahogy 2007-2008-ban futott volna. A TraceMonkey nem lenne önmagában rossz, ha közben a konkurencia nem állt volna elő újabb, gyorsabb megoldásokkal. A Google bemutatta a V8 JavaScript motort, az Opera pedig a Caracan-t. Ugyan a Firefox 3.6-ra frissítők egész szép teljesítményjavulást észlelhetnek, de ennek ellenére a TraceMonkey már lemaradt a versenytársak mögött. Azonban hamarosan változás jöhet. A Mozilla fejlesztői el vannak foglalva a JägerMonkey implementálásával, amelytől azt várják, hogy a Firefox JavaScript teljesítménye ismét komolyabb mértékben javulni fog. David Mandelin arról számol be blogjában, hogy körülbelül két hónapja dolgoznak a JägerMonkey névre hallgató, SpiderMonkey-hez (és Firefox-hoz) készülő, új "baseline, method based" JIT fordítón. Két nappal ezelőtt már annyira működőképes volt a JägerMonkey, hogy az összes SunSpider tesztet képesek voltak "Jäger" módban futtatni. Így a tesztek 18%-kal gyorsabban futottak, mint az interpreterrel. Az eredményt úgy kapták, hogy egy rakás optimalizáció még nem végeztek el. A fejlesztők szerint még jócskán van lehetőség a gyorsításra. Részletek a JägerMonkey-ről itt és itt.

Tovább a teljes cikkre...

Keresés