nodejs 与golang的性能对比
发布于 5 年前 作者 linewei 12069 次浏览 来自 分享

不相信node的性能好?看看google的测试报告再说。 咋一看数据,go比node好,但要知道,node可是脚本语言,而go的性能跟c差不多的,其他语言python、php跟go是十倍百倍的差距。

在实际项目中,结合node天生异步的程序结构,谁的性能更好就说不定了。

WX20190822-115515.png WX20190822-115620.png

15 回复

版本都比较老了,而且go有协程,从性能来说是不输 node.js 的异步非阻塞的。 另外,go 其实跟 c 差的挺远的。

@zuohuadong 为啥有协程不输 node.js 的异步非阻塞?依据是啥

@i5ting 因为协程的实现内部也是用的 non-blocking IO 吧

如果 go 跑协程,那么 nodejs 应该同样跑多进程或者 worker ,测试才公平。

论计算性能,golang远胜nodejs

@dfsq1311 你忘了nodejs 有 addon 么

@dfsq1311 并且还有 ffi 呢。 何以说远胜。

@waitingsong addon, ffi这类工具是调用c++动态库的,我们知道nodejs的底层是C++实现,C的性能是远胜nodejs和golang。nodejs的优势在于处理网络和IO,论计算来讲,单线程模型无法进行并行任务,是一个很大的不足。golang更像是新一代的C语言,其优势也是很多的,编译快,多核并行编程、省内存等,开发效率可能比js慢一点,但也不是很低。性能的比较要从实际场景出发,单单揪着一个点,对于工程来讲,是没有太大意义的,个人观点

@dfsq1311 似乎你没弄清楚 js 和 nodejs 的区别。前者是语言,后者是运行环境(runtime) 所以对于后者来说就不能把c 扩展及其调用割裂开来。

或者说比较对象应该是 js 和 go。

如果哪天有人用go写了个 go.js 出来就好玩了~

@waitingsong deno 起初就是准备拿go 写。 当然,即使写成,也无法和 v8 (c++) 相比了

Node.js有它自身使用的场景 我已经从Node.js转golang快一年了

@im-here +1 node的强项是快速开发。 强行争论哪种语言好的都是耍流氓。

回到顶部