asm.js:JavaScript的“汇编语言”

jopen 11年前

        Mozilla 目前正在考虑将 JavaScript 作为一个现代化的“汇编语言”(即底层语言),可以在现代浏览器中执行,以实现更高的执行效率。 

        Mozilla 是这样定义 asm.js 的: 

asm.js 是一个 JavaScript 的一个严格的子集,可以被用来作为一个底层的、高效的编译器目标语言。asm.js 提供了一个类似于C/C++虚拟机的抽象实现,包括一个可有效负载和存储的大型二进制堆、整型和浮点运算、高阶函数定义、函数指针等。

        asm.js 是 JavaScript 的一个子集,也就是说,你可以将基于 asm.js 的程序放在一个标准的未修改的浏览器或 JavaScript 引擎中运行。但是,如果要想获得更高的效率,就需要使用一个优化的 JavaScript 引擎来运行。这是 Mozilla 接下来要考虑的事情。Mozilla 目前正在开发 OdinMonkey,这是一个 JavaScript 引擎,该引擎在处理 asm.js 程序时,可以自动进行优化。 

        Mozilla 还展示了一项基准测试数据,结果显示,Firefox+asm.js 的执行速度仅次于本地应用。 

asm.js:JavaScript的“汇编语言”

        此外,Google 也在致力于类似的技术,比如 NaCL,该技术允许在浏览器中运行C/C++代码,并已经集成在最新的 Chrome 中。 

        asm.js 项目地址:https://github.com/dherman/asm.js

来自: www.iteye.com