本节书摘来自异步社区《深入理解JavaScript》一书中的第2章,第2.5节,作者: 【美】AxelRauschmayer(罗彻麦尔)译者: 王玉林 , 杜欢 , 庄婷婷 , 章子鹏,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.5 JavaScript是否足够快
JavaScript引擎已经取得了极大的进步,旧的编译器进化成了实时的编译器。绝大多数的应用程序现在已经运行得足够快了。况且,新的想法也正在开发中,它们都为了让未来应用里的JavaScript程序可以执行得足够快:
asm.js是一个JavaScript(非常稳定)的子集,它在当前的引擎上跑得很快,具备C++编译过的程序的70%的性能。例如,它可以用于实现Web应用程序中性能至上的算法部分,也可以用于将基于C++的游戏移植到Web平台。
ParallelJS使用和JavaScript截然不同的代码,使用新的数组方法mapPar, filterPar, 以及reducePar(JavaScript对于已经存在的数组平行版本方法是map,filter,以及reduce)。为了使其并行工作,回调函数必须写成指定的格式;主要的限制是你不能够改变那些回调中创建的数据。