asm.js是JavaScript的一个子集,也就是说,你可以将基于asm.js的程序放在一个标准的未修改的浏览器或JavaScript引擎中运行。但是,如果要想获得更高的效率,就需要使用一个优化的JavaScript引擎来运行。5月8日微软在其官方博客中称将会为Win10中的Chakra引擎和Edge浏览器带来Asm.js支持。微软Edge浏览器不仅为现代网页技术和规范提供了更好的支持,而且也加入了用户期待已久的功能。
当前Edge浏览器中对Asm.js的支持处于初步测试阶段,默认并没有开启,在Edge浏览器中打开about:flags,选择“启用 asm .js”标记可将其开启。在初步支持阶段,Chakra和Microsoft Edge在执行Unity基准测试时性能提升超过300%,而在其他方面,如zlib测试中性能提升在200%左右。
Asm.js包括严格类型的整数、浮点数、数值计算、函数调用和堆访问,这将对执行速度起到优化作用,它提供了一种让由C、C++或其它语言编写的原生代码在浏览器端运行的途径。一些游戏,包括《愤怒的机器人》、《Survival Shooter》、《Tappy Chicken》等都是使用JavaScript编写的。