微軟的 JavaScript 引擎將很快支持 Asm.js
幾年前 Mozilla 開發了 asm.js ,這是一個 JavaScript 的子集,可以讓 JavaScript 代碼執行更快速。知道今天 asm.js 的所有優化都是針對 Firefox 瀏覽器的,不過很快該技術也將得到微軟最新的來自 Windows 10 的 Chakra JavaScript 引擎的支持。
微 軟今天宣布,對 asm.js 的支持是 10 個開發者最強烈要求的特性之一,因此 Chakra 團隊決定實現它。Chakra 團隊稱:在過去數月我們密切研究了 asm.js 以及其相關技術,這是一項非常具有挑戰性的工作,asm.js 相當于是可以在 Web 平臺上使用 C/C++ 代碼開發應用,并利用類似 WebGL 和 Web Audio 等技術。asm.js 的出現使得 Web 平臺應用的性能可以媲美原生應用性能。這也是為什么我必須在下一個 Chakra 版本中實現它的原因,我們為之感到非常興奮。
asm.js 主要的思路是開發者可以編譯他們的 C/C++ 代碼到經過優化后的 JavaScript 語言中(使用的是 Emscripten 編譯器),然后在瀏覽器中執行。開發者也可以編寫他們自己的 asm.js 兼容的代碼,而只需要把注意力放在應用邏輯上。目前的情況下,asm.js 執行速度只比同樣 C/C++ 代碼慢 1.5 倍而已。
這 項技術使得將原有的移動和桌面游戲移植到瀏覽器上變得很輕松(當然前提是這些游戲是基于 C/C++ 代碼開發的)。如果沒有 asm.js 你會想想這些游戲在瀏覽器上運行起來會有多糟糕的表現。另外因為仍是標準的 JavaScript 代碼,因此仍可以運行在其他瀏覽器上,只是不夠快而已。
下圖顯示的是運行在 Firefox 的 asm.js 應用和運行在其他瀏覽器上的性能比較:
via techcrunch