测试显示,Node.js和io.js性能差异巨大

Posted InfoQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试显示,Node.js和io.js性能差异巨大相关的知识,希望对你有一定的参考价值。


io.js是Node.js的一个分支。近日,一名具有20多年软件开发经验的工程师Michael Schöbel通过一组测试比较了两者的性能

他分别使用io.js和Node.js实现了质数查找算法“埃拉托斯特尼筛法(Sieve of Eratosthenes)”,并且每一种实现又有三种实现形式,分别使用了常规数组、“类型数组(typed-array)”和buffer。


io.js和Node.js有一个重要的共同点,就是它们都基于Chrome的V8 javascript引擎。但它们基于不同的V8版本。在本次测试中,Schöbel使用了Node 0.10.35和io.js 1.0.2,都是最新版本。


他在相同的环境下将每一种实现形式执行7次,然后取平均执行时间,结果如下(单位为秒):


类型数组和常规数组性能差异巨大;从中可以看出:


使用buffer时,io.js用时比Node.js长18%;


使用类型数组时,io.js用时是Node.js的2倍多;


使用常规数组时,Node.js用时是io.js的5倍多。


对于这个结果,Schöbel表示:


这不是一个专业的综合性的测试,该测试所用的算法与现实开发中的用法可能完全不同;


由于两种框架基于不同的V8 JavaScript引擎,所以这个测试实际上也比较了V8的不同版本;


如果一个项目大量使用CPU,并且部署在AWS或Azure这样的服务器上,那么选择合适的Node.js/io.js版本可以降低成本。


最后请谨记:务必使用不同版本的Node.js/io.js测试代码



以上是关于测试显示,Node.js和io.js性能差异巨大的主要内容,如果未能解决你的问题,请参考以下文章

使用 Node NOT io.js 在 Mocha 测试中使用 jQuery

用于矩阵计算的操作系统之间的巨大性能差异

加载socket.io.js时Node.js“未捕获的语法错误:意外的令牌<”

找不到Node.js /socket.io/socket.io.js express 4.0

Safari 私人窗口与普通窗口的巨大性能差异

Node.js与io.js那些事儿