Node.js 和 io.js - 在性能上很不同 已翻译 100%

oschina 投递于 2015/01/20 13:58 (共 5 段, 翻译完成于 01-21)
阅读 14309
收藏 35
4
加载中

对于相同的代码你可能会遇到5倍以上的性能差距,这取决于你使用的是node还是io.js。

首先,让我说的更明白点。这不是也不可能是综合测试。每一个引用都是不一样的。我的发现可能或者不可能使用与你的案例,这取决于你的Node引用是做什么的。

我的测试

前面的文章中,我使用C,JAVA,Javascript和FreePascal测试了一个很简单的算法性能寻找prime-numbers和Sieve of Eratosthenes。为了测试Javascript,我基于Node选择三种不同的实现算法,包括普通阵列,输入阵列或缓冲。

zhhw
翻译于 2015/01/20 16:16
2

今天我将使用相同的标准来说明node.js与io.js之间有多大的性能差距。对于你们中那些对io.js还不了解的人,io.js是node的一个分支。

我将使用在我前面文章中出现的相同的代码。你们能够在文章的结尾找到它。

Node和io.js有一个重要的共同点。他们都依赖于Chrome的V8 Javascript引擎。但是他们使用的是不同的V8版本。所以,当我们比较Node和IO.js的时候,其实我是比较他们使用的不同版本的Chrome V8 JavaScript引擎。

在我的前一个测试中,我用的Node0.10.32,因为这是我使用的Linux发新版OpenSuse13.2自带的。但是在今天的测试中,我将使用Node 0.10.35和io.js 1.0.2,因为他们是最新的发布版。是的,我知道io.js描述该版本为“不稳定”,但它是我唯一能获取的版本。

zhhw
翻译于 2015/01/20 15:55
1

以运行在Intel i7-4771 3.5GHz上的64位OpenSuse 13.2系统为测试环境(作者话痨,还顺带提了一下自己之前写的文章中也用了同样的方法),前后测试了7次,测试结果(时间)取中位数,结果如下:


Node.js 0.10.35      io.js 1.0.2
Buffer 4.259 5.006
Typed-Array 4.944 11.555
Regular Array    40.416 7.359

(时间单位为秒)

如你所见,Node和io.js对typed-array和regular array处理的性能的变化让人瞠目。

操作buffer,io.js比Node.js多花18%的时间。对这个结果来说不好不坏,无需操心。

对type-array的测试结果显示Node.js、io.js两者差距显著:后者所费时间超过前者的两倍!

对regular array的测试却得出了相反的结果,而且更加明显:Node.js所费时间超过了io.js的5倍!

武威
翻译于 2015/01/20 22:53
2

它们性能差异如此之大让我深感烦扰。作为如此成熟的产品,V8 JS引擎在不同版本上所表现的差异实在大。 我只能忍受性能伴随版本更新一直提升的产品,但上述测试数据表明性能有可能适得其反,这实在不该发生。

结论

难决胜负!Node和io.js相互间时有赶超。但得牢记一点:这个小测试还和实际应用相差甚远呢。

据我所悉,就连不同版本的Node都会有不同。曾记得一个开发版的Node在处理buffer的性能上却有下降表现,参考issue on GitHub.

武威
翻译于 2015/01/20 23:03
1

如果项目部署于AWS或Azure的多台server上,CPU开销较重,那么这个问题将十分重要。如果application在你所用的Node/io.js上的性能很差,那你得需要更多的server,这将让你更费银子。

本文浓缩成一句可取的话即:时刻牢记,测试你的代码在不同版本Node/io.js上的性能

武威
翻译于 2015/01/20 23:14
2
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(85)

zhhw
zhhw
一篇翻译引发的血案,我真是再也不敢翻译了
散关清渭
散关清渭
这翻译的 真是够了
胖哒胖胖
胖哒胖胖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“Raymin”的评论

>> 对于相同的代码你可能会遇到的性能相差5倍以上 第一句就是病句! 为翻译而翻译,和为让人看懂而翻译,会产生截然不同的结果。 不要动不动就不服气,反省是进步的捷径!

引用来自“zhhw”的评论

接受批评,英语的确很渣,以后一定更加认真对待这个翻译。

引用来自“久永”的评论

你的做法是对的,不用和他们这种素质的喷子多争执。 维护网络环境,每个读者都有责任~ 一句话,喷子死全家!

引用来自“金大胖”的评论

贱逼一枚,老子骂你也不会骂你父母,我和你不一样,动不动把父母拿出来骂!你本人是个贱逼,和你父母无关

引用来自“久永”的评论

你也承认自己骂人了吗? 你骂人了,别人还该听你的,什么能骂,什么不能骂?

引用来自“金大胖”的评论

骂我可以,你可以骂我,但是你个贱逼不要动不动就把父母拉出来骂!真是个贱逼一枚,但是我不骂你父母,你贱逼我不会牵扯其他人

引用来自“久永”的评论

第一,既然干了不道德的事,就不要怪别人不道德。 第二,我只是尖刻的打比方而已,我没有骂人,一开始就骂人的是你自己,不清楚可以看我们的互喷记录~

引用来自“金大胖”的评论

贱逼

引用来自“久永”的评论

谢谢你用语言证明我的观点~

引用来自“金大胖”的评论

我自己怎么样,关父母什么事,你个贱逼

引用来自“久永”的评论

你这不是让随便什么人都会回答你 ——要问他们怎么生的、怎么养的、怎么教的你吗? 唉……真没见过这么配合的人,算了,不欺负你了,到此为止吧~
你个贱逼,骂我可以,骂父母不行,想到此为止没这么容易。
胖哒胖胖
胖哒胖胖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“Raymin”的评论

>> 对于相同的代码你可能会遇到的性能相差5倍以上 第一句就是病句! 为翻译而翻译,和为让人看懂而翻译,会产生截然不同的结果。 不要动不动就不服气,反省是进步的捷径!

引用来自“zhhw”的评论

接受批评,英语的确很渣,以后一定更加认真对待这个翻译。

引用来自“久永”的评论

你的做法是对的,不用和他们这种素质的喷子多争执。 维护网络环境,每个读者都有责任~ 一句话,喷子死全家!

引用来自“金大胖”的评论

贱逼一枚,老子骂你也不会骂你父母,我和你不一样,动不动把父母拿出来骂!你本人是个贱逼,和你父母无关

引用来自“久永”的评论

你也承认自己骂人了吗? 你骂人了,别人还该听你的,什么能骂,什么不能骂?

引用来自“金大胖”的评论

骂我可以,你可以骂我,但是你个贱逼不要动不动就把父母拉出来骂!真是个贱逼一枚,但是我不骂你父母,你贱逼我不会牵扯其他人

引用来自“久永”的评论

第一,既然干了不道德的事,就不要怪别人不道德。 第二,我只是尖刻的打比方而已,我没有骂人,一开始就骂人的是你自己,不清楚可以看我们的互喷记录~

引用来自“金大胖”的评论

贱逼

引用来自“久永”的评论

谢谢你用语言证明我的观点~

引用来自“金大胖”的评论

我自己怎么样,关父母什么事,你个贱逼

引用来自“久永”的评论

你这不是让随便什么人都会回答你 ——要问他们怎么生的、怎么养的、怎么教的你吗? 唉……真没见过这么配合的人,算了,不欺负你了,到此为止吧~
你是逼我骂你父母吗??你可以问父母是怎么养我教我生我的,但是你随口骂别人父母你就算贱逼!你如果只是嘲讽我可以,你个贱逼那别人父母真低贱啊你。还是你非要逼别人也把你父母拿出来骂???
屮殖
屮殖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“Raymin”的评论

>> 对于相同的代码你可能会遇到的性能相差5倍以上 第一句就是病句! 为翻译而翻译,和为让人看懂而翻译,会产生截然不同的结果。 不要动不动就不服气,反省是进步的捷径!

引用来自“zhhw”的评论

接受批评,英语的确很渣,以后一定更加认真对待这个翻译。

引用来自“久永”的评论

你的做法是对的,不用和他们这种素质的喷子多争执。 维护网络环境,每个读者都有责任~ 一句话,喷子死全家!

引用来自“金大胖”的评论

贱逼一枚,老子骂你也不会骂你父母,我和你不一样,动不动把父母拿出来骂!你本人是个贱逼,和你父母无关

引用来自“久永”的评论

你也承认自己骂人了吗? 你骂人了,别人还该听你的,什么能骂,什么不能骂?

引用来自“金大胖”的评论

骂我可以,你可以骂我,但是你个贱逼不要动不动就把父母拉出来骂!真是个贱逼一枚,但是我不骂你父母,你贱逼我不会牵扯其他人

引用来自“久永”的评论

第一,既然干了不道德的事,就不要怪别人不道德。 第二,我只是尖刻的打比方而已,我没有骂人,一开始就骂人的是你自己,不清楚可以看我们的互喷记录~

引用来自“金大胖”的评论

贱逼

引用来自“久永”的评论

谢谢你用语言证明我的观点~

引用来自“金大胖”的评论

我自己怎么样,关父母什么事,你个贱逼
你这不是让随便什么人都会回答你 ——要问他们怎么生的、怎么养的、怎么教的你吗? 唉……真没见过这么配合的人,算了,不欺负你了,到此为止吧~
胖哒胖胖
胖哒胖胖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“Raymin”的评论

>> 对于相同的代码你可能会遇到的性能相差5倍以上 第一句就是病句! 为翻译而翻译,和为让人看懂而翻译,会产生截然不同的结果。 不要动不动就不服气,反省是进步的捷径!

引用来自“zhhw”的评论

接受批评,英语的确很渣,以后一定更加认真对待这个翻译。

引用来自“久永”的评论

你的做法是对的,不用和他们这种素质的喷子多争执。 维护网络环境,每个读者都有责任~ 一句话,喷子死全家!

引用来自“金大胖”的评论

贱逼一枚,老子骂你也不会骂你父母,我和你不一样,动不动把父母拿出来骂!你本人是个贱逼,和你父母无关

引用来自“久永”的评论

你也承认自己骂人了吗? 你骂人了,别人还该听你的,什么能骂,什么不能骂?

引用来自“金大胖”的评论

骂我可以,你可以骂我,但是你个贱逼不要动不动就把父母拉出来骂!真是个贱逼一枚,但是我不骂你父母,你贱逼我不会牵扯其他人

引用来自“久永”的评论

第一,既然干了不道德的事,就不要怪别人不道德。 第二,我只是尖刻的打比方而已,我没有骂人,一开始就骂人的是你自己,不清楚可以看我们的互喷记录~

引用来自“金大胖”的评论

贱逼

引用来自“久永”的评论

谢谢你用语言证明我的观点~
我自己怎么样,关父母什么事,你个贱逼
胖哒胖胖
胖哒胖胖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“双城记”的评论

这种强盗理论真是屡试不爽是吧? 评价菜好不好吃的前提我必须是个厨子?

引用来自“久永”的评论

我的意思是批评无用,有个差的翻译总强过没有,如果你觉得翻译太差,你可以给我个更好的翻译来看,我很感激,不一定一定要你自己翻译。如果只说别人不好,却不知别人努力与付出,这样的话只能是降低自己的品格~

引用来自“金大胖”的评论

我觉得我们楼下食堂的饭好难吃,莫非我要每天自己去食堂去做饭吃??

引用来自“久永”的评论

你可以不去吃,为啥药犯贱?也难怪,天天吃屎,只会喷粪!Osc没请你来,OK? ——我不是Osc的人,只是网上只会批评的蛆真是有碍观瞻,影响大家看技术文章。

引用来自“金大胖”的评论

你的意思是OSC请你来了???我也不是OSC的人。你的意思是只要看文章就不能批评了??谁TMD“网上只会批评了”,偶尔看一个不顺眼的不能批评了?你真是猪一样思想,只要不影响自己的利益就只会在那吃。

引用来自“久永”的评论

没请我来,我自己来了,但是我没犯贱喷主人家不好~没犯贱说人家做了翻译的不如自己啥都没做光会喷的~ 你为大家做的贡献在哪里?
我自己犯贱喷关我父母什么事,就事论事,我骂你,你可以骂我,看我不爽可以骂我,你个贱逼没事提父母,你就是经常这样把你父母拿出去骂的??
屮殖
屮殖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“Raymin”的评论

>> 对于相同的代码你可能会遇到的性能相差5倍以上 第一句就是病句! 为翻译而翻译,和为让人看懂而翻译,会产生截然不同的结果。 不要动不动就不服气,反省是进步的捷径!

引用来自“zhhw”的评论

接受批评,英语的确很渣,以后一定更加认真对待这个翻译。

引用来自“久永”的评论

你的做法是对的,不用和他们这种素质的喷子多争执。 维护网络环境,每个读者都有责任~ 一句话,喷子死全家!

引用来自“金大胖”的评论

贱逼一枚,老子骂你也不会骂你父母,我和你不一样,动不动把父母拿出来骂!你本人是个贱逼,和你父母无关

引用来自“久永”的评论

你也承认自己骂人了吗? 你骂人了,别人还该听你的,什么能骂,什么不能骂?

引用来自“金大胖”的评论

骂我可以,你可以骂我,但是你个贱逼不要动不动就把父母拉出来骂!真是个贱逼一枚,但是我不骂你父母,你贱逼我不会牵扯其他人

引用来自“久永”的评论

第一,既然干了不道德的事,就不要怪别人不道德。 第二,我只是尖刻的打比方而已,我没有骂人,一开始就骂人的是你自己,不清楚可以看我们的互喷记录~

引用来自“金大胖”的评论

贱逼
谢谢你用语言证明我的观点~
胖哒胖胖
胖哒胖胖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“Raymin”的评论

>> 对于相同的代码你可能会遇到的性能相差5倍以上 第一句就是病句! 为翻译而翻译,和为让人看懂而翻译,会产生截然不同的结果。 不要动不动就不服气,反省是进步的捷径!

引用来自“zhhw”的评论

接受批评,英语的确很渣,以后一定更加认真对待这个翻译。

引用来自“久永”的评论

你的做法是对的,不用和他们这种素质的喷子多争执。 维护网络环境,每个读者都有责任~ 一句话,喷子死全家!

引用来自“金大胖”的评论

贱逼一枚,老子骂你也不会骂你父母,我和你不一样,动不动把父母拿出来骂!你本人是个贱逼,和你父母无关

引用来自“久永”的评论

你也承认自己骂人了吗? 你骂人了,别人还该听你的,什么能骂,什么不能骂?

引用来自“金大胖”的评论

骂我可以,你可以骂我,但是你个贱逼不要动不动就把父母拉出来骂!真是个贱逼一枚,但是我不骂你父母,你贱逼我不会牵扯其他人

引用来自“久永”的评论

第一,既然干了不道德的事,就不要怪别人不道德。 第二,我只是尖刻的打比方而已,我没有骂人,一开始就骂人的是你自己,不清楚可以看我们的互喷记录~
贱逼
屮殖
屮殖

引用来自“双城记”的评论

OSC上翻译的大多数文章质量都非常非常渣。
翻译渣+文章内容渣

引用来自“久永”的评论

你弄个好翻译给我们看看?

引用来自“Raymin”的评论

>> 对于相同的代码你可能会遇到的性能相差5倍以上 第一句就是病句! 为翻译而翻译,和为让人看懂而翻译,会产生截然不同的结果。 不要动不动就不服气,反省是进步的捷径!

引用来自“zhhw”的评论

接受批评,英语的确很渣,以后一定更加认真对待这个翻译。

引用来自“久永”的评论

你的做法是对的,不用和他们这种素质的喷子多争执。 维护网络环境,每个读者都有责任~ 一句话,喷子死全家!

引用来自“金大胖”的评论

贱逼一枚,老子骂你也不会骂你父母,我和你不一样,动不动把父母拿出来骂!你本人是个贱逼,和你父母无关

引用来自“久永”的评论

你也承认自己骂人了吗? 你骂人了,别人还该听你的,什么能骂,什么不能骂?

引用来自“金大胖”的评论

骂我可以,你可以骂我,但是你个贱逼不要动不动就把父母拉出来骂!真是个贱逼一枚,但是我不骂你父母,你贱逼我不会牵扯其他人
第一,既然干了不道德的事,就不要怪别人不道德。 第二,我只是尖刻的打比方而已,我没有骂人,一开始就骂人的是你自己,不清楚可以看我们的互喷记录~
返回顶部
顶部