複製鏈接
請複製以下鏈接發送給好友

JaegerMonkey

鎖定
JaegerMonkey是Firefox 4將要使用的一款新的JavaScript引擎
中文名
JaegerMonkey
解    釋
新的JavaScript引擎
出現時間
2008年

目錄

JaegerMonkey簡介

Firefox目前使用的JavaScript解析引擎TraceMonkey啓用於2008年,當時性能非常優秀。但隨着競爭廠商陸續改善瀏覽器性能加入這場競爭,Firefox逐漸落後。為此,Mozilla基金會為Firefox開發全新的JaegerMonkey引擎。

JaegerMonkey研發歷史

JaegerMonkey(JägerMonkey,也有人拼寫成JagerMonkey):Firefox 4將要使用的新的JavaScript引擎
Firefox目前使用的JavaScript解析引擎TraceMonkey啓用於2008年,當時性能非常優秀。但隨着競爭廠商陸續改善瀏覽器性能加入這場競爭,Firefox如今在普通的JavaScript基準測試中表現落後於蘋果Safari、谷歌Chrome瀏覽器和Opera瀏覽器。
為此,Mozilla基金會為Firefox開發全新的JaegerMonkey引擎。據悉,該解析引擎借用了蘋果的WebKit開源項目。Mozilla意圖將自己的TraceMonkey引擎和蘋果的JSCore引擎結合起來,融合為新的JaegerMonkey引擎。它將大幅提升Firefox瀏覽器的JavaScript代碼執行速度,使Firefox在這場JavaScript性能之爭中再佔上風。
Mozilla目前使用了nanojit開源軟件作為Firefox的本地代碼生成器。Nanojit最初由Adobe開發,原本是用於加強Flash技術ActionScript代碼的執行能力。2006年Adobe遵循開源軟件授權許可,將nanojit發佈為開源軟件。Mozilla和Adobe原本計劃利用nanojit創建一個名為Tamarin的開源項目,意在執行ECMAScript 4。然而,隨着ECMAScript 4被棄用,Tamarin項目也幾乎完全止步。Mozilla隨後將nanojit軟件整合至其現有的SpiderMonkey解析引擎,增加了追蹤優化技術,形成了全新的TraceMonkey引擎。
Mozilla最新的JaegerMonkey引擎裏仍將使用nanojit執行某些事務,但將採用蘋果旗下執行效率更高的Nitro Assembler軟件來生成本地代碼。這種基於方法的實時編譯技術將為JaegerMonkey引擎帶來性能優勢。此外,JaegerMonkey仍將利用追蹤優化技術來加速程序循環的執行,而進一步的優化將使執行其它路徑時的速度能有所提升。Mozilla表示,這種混合技術或許會是最優秀的。
Mozilla開發人員大衞·曼德林(David Mandelin)在一篇談及新引擎的博客裏寫道:“我們之所以要開發JaegerMonkey引擎,是因為TraceMonkey在處理可追蹤的代碼時速度非常快,但面對不可追蹤的代碼時,由於需要調用解釋器因此執行效率不高。JaegerMonkey實時編譯在這方面會做得更好,而且追蹤技術在可用時仍能派上用場。”