Asm.js是JavaScript的高性能子集,简化特性便于优化。Mozilla现在宣布,asm.js性能进一步逼近原生,asm.js的速度已达到原生码的三分之二, 而以前只能达到二分之一甚至更低。Mozilla是通过改变浮点算法处理方式改进asm.js性能。 JavaScript默认使用float64数据类型,以提供最大的数据精度,但相比范围较小的int、int32、float和float32数据类型,float64的效率并不高,Mozilla的 SpiderMonkey引擎在asm.js中加入了float32数据类型,允许将C/C++程序中的float32算法直接翻译到asm.js的 float32算法。 Mozilla相信asm.js的性能还能进一步提升。 |