不相信node的性能好?看看google的测试报告再说。 咋一看数据,go比node好,但要知道,node可是脚本语言,而go的性能跟c差不多的,其他语言python、php跟go是十倍百倍的差距。
在实际项目中,结合node天生异步的程序结构,谁的性能更好就说不定了。
版本都比较老了,而且go有协程,从性能来说是不输 node.js 的异步非阻塞的。 另外,go 其实跟 c 差的挺远的。
@zuohuadong 为啥有协程不输 node.js 的异步非阻塞?依据是啥
@i5ting 因为协程的实现内部也是用的 non-blocking IO 吧
v8有些黑科技还是很厉害的 https://cnodejs.org/topic/5b6abd8ab71aedfe4c126841
如果 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的强项是快速开发。 强行争论哪种语言好的都是耍流氓。