JaegerMonkey

JaegerMon Mozilla最新的JaegerMon key引擎,是因為TraceMon

簡介

JaegerMonkey是Firefox 4將要使用的新的JavaScript引擎。Firefox目前使用的JavaScript解析引擎TraceMonkey啟用於2008年,當時性能非常優秀。但隨著競爭廠商陸續改善瀏覽器性能加入這場競爭,Firefox逐漸落後。為此,MOZILLA基金會為Firefox開發全新的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實時編譯在這方面會做得更好,而且追蹤技術在可用時仍能派上用場。”

相關詞條

相關搜尋

熱門詞條

聯絡我們