Mozilla的asm.js:利用JavaScript改進Web性能
譯文在asm.js項目中,Mozilla公司積極推動這一JavaScript子集,旨在改進Web應用程序的性能表現并拓展C與C++應用在Web環境下的執行效果。
根據asm.js規范中的描述,我們可以將asm.js作為一款低級別、高效率的目標語言編譯器加以使用。Mozilla的目標在于幫助以低級別語言(例如C/C++)編寫的應用程序獲得更出色的性能表現,Mozilla公司軟件工程師Luke Wagner指出。就其自身來說,asm.js并不能讓現有JavaScript代碼運行得更快,他坦言。“不過Web開發者***創造能力,我們期待他們能深入發掘asm.js的潛力、而不是埋頭于利用C/C++進行應用編寫。”這款JavaScript
工具能夠將C及C++應用編譯為asm.js格式,并借此提高其運行速度。
“asm.js的核心在于通過簡化格式定義達成理想的‘***性能效果’,”Wagner表示。“包括Emscripten、Mandreel、LLJS等方案在內的各類asm.js生成器用實際表現證明了它們實現這一目標的能力。它還能幫助瀏覽器中的JavaScript引擎簡化執行流程的主動優化能力并提供可預期的提升效果。”現有JavaScript引擎已經能夠優化這一JavaScript子集;asm.js的支持者們也已經在很短時間內通過火狐以及Chrome瀏覽器平臺體會到了顯著的執行速度改善,Wagner補充道。
盡管asm.js的作用主要體現在游戲開發工作當中,企業應用程序同樣能夠從中受益,JavaScript技術博主Axel Rauschmayer在本周于舊金山舉行的O’Reilly Fluent大會上指出。他列舉了asm.js的兩大主要優勢。“***項優勢,大家可以對現有C以及C++代碼進行編譯,而且現成可用的代碼規模也已經相當龐大。大家可以直接進行編譯,并在Web平臺上獲得出色的運行速度,”Rauschmayer表示。“第二項優勢是,它能夠對非JavaScript代碼進行簡潔而有效的編譯處理。在它的幫助下,大家能夠更輕松地完成代碼編譯工作,進而使其在登陸Web平臺的同時獲得理想的運行速度。”
目前asm.js項目的支持者們正計劃開發更多Web API,從而使asm.js能夠在后臺線程中執行編譯工作并將編譯結果進行離線保存。這將進一步提高該項目未來在應用程序開發者群體中的普及度。