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






















