2014
01
07

[轉載海豹雜記]asm.js 架構與 Emscripten 編譯器

關鍵字:asm.jsJavaScript

asm.js 本質上是屬於 JavaScript 的一部分,可以看成是簡單版的JavaScript,在使用上跟一般的 JavaScript 比起來會有些限制,但是執行效能卻非常好,在某些狀況下幾乎可以跟原生程式的執行速度差不多。

asm.js不直接使用 JavaScript 的物件與類別,而是產生一個很長的陣列,使用這個陣列來管理自己記憶體的使用,因為asm.js沒有任何動態的轉型、記憶體配置與回收等動作,所以它可以達到非常好的最佳化效能,但是這樣就造成寫出來的程式碼會非常冗長,因此Mozilla 並不是想讓開發者直接使用 asm.js 撰寫程式,而是像一般正常的開發流程一樣,使用其他的高階語言撰寫程式碼之後,再使用編譯器編譯成 asm.js 的程式。

Emscripten就是幫忙編譯asm.js的編譯器,以 LLVM 編譯器架構與 Clang C/C++ front-end 為基礎所發展出來的其輸出的一般 JavaScript 程式也是跟 asm.js 的概念類似,都是使用一個很大的陣列來存放所有的資料,而所有的計算與操作都是在這上面進行,透過這樣的方式也可以幫助 asm.js 的開發。
傑立資訊傑立資訊事業有限公司

電話:(02)2739-9096 | 傳真:(02)2739-6637 | 客服:service@julyinfo.com | 臺北市大安區和平東路3段257號6樓map

© 2016 傑立資訊 All rights reserved.法律顧問:宇恒法律事務所