Firefox vernieuwt Javascript engine: TraceMonkey
Gister heeft Brendan Eich, de vader van Javascript, een aangepaste Javascript engine voor Firefox 3.1 aangekondigd. Deze javascript engine, TraceMonkey genaamd, loopt ietwat vooruit op de Tamarin engine die waarschijnlijk in 'Mozilla 2.0' (het platform) zal worden toegevoegd en zorgt ervoor dat Javascript behoorlijk wat sneller loopt!
De aankondiging volgt vrij kort op de aankondiging van SquirrelFish van de WebKit ontwikkelaars, welke ook al een grondige wijziging van hun Javascript Engine afgerond hadden.
TraceMonkey is in feite de bestaande SpiderMonkey javascript engine, maar met een JIT compiler voor hot-spots. Dit houdt in dat de TraceMonkey kan detecteren welke stukken code vaak uitgevoerd worden en hij zal deze stukken code vervolgens (Just-In-Time) compileren naar machine bytecode voor maximale performance. TraceMonkey doet dit via een techniek die ze tracing noemen. Kort gezegd nemen ze een stuk byte-code op en vertalen dat naar machine taal. Intern wisselt de Javascript engine dan tussen de gewone byte code en de machine code waar van toepassing. De complete uitleg vind je uiteraard in Brendan Eich's aankondiging.
Voor de gebruiker betekent dit dat Javascript een stukje sneller kan reageren en er is dan ook een screencast gemaakt welke dit illustreert.
But this is only a start. With tracing, performance will keep going up. We have easy small linear speedup tasks remaining (better register allocation, spill reduction around built-in calls). We will trace string and regular expression code and break through the "2" barrier. We will even trace into DOM methods. The tracing JIT approach scales as you move more code into JS, or otherwise into view of the tracing machinery.
Brendan Eich wijst naar verschillende tests, zoals bijvoorbeeld SunSpider, waarbij de nieuwe engine tot 2 tot 31x beter presteert dan de Javascript engine die momenteel in Firefox 3 gebruikt wordt. Hij wijst er echter ook op dat deze benchmarks wel leuk zijn, maar niet heel interessant. Veel interessanter is het feit dat met snellere Javascript engines intensiever gebruik van o.a. de <canvas> tag veel interessanter wordt.
Firefox 3.1 wordt een erg interessante browser release!
Volg Scriptorama via RSS!
Reageer ook!
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>