为什么Go性能还不如Rust?
- 技术交流
- 2024-09-26 00:07:02
匿名防止污染时间线,主要实在看不下去一些人搁那里乱吹。
Go 的主要卖点就是编译速度快,为了编译速度快一大堆高级优化全都没有实现,编译器生成的二进制代码堪称灾难一般。
因此不用想都知道它没有 Rust 跑得快,毕竟 Rust 编译要走 LLVM 的。它甚至连预热后的 Java 都跑不过,因为 JVM 的 JIT 时编译优化都比 Go 那编译器做的好。
另外 GC 并不是慢的理由,相反 Rc 相比 Tracing GC 而言性能反而更差,有 GC 的语言在 throughput 性能上反而应该有优势才对。
而且你猜为什么 Go 不依赖 glibc/muslc 等平台库而是选择自己实现这部分?因为 Go 的 ffi 效率实在太低,因此不得不自己来实现一遍避免出现严重的性能问题。
编译器上的优化做得再多都不算少,不得不感叹 “少即是多” 这种给语言设计不足和标准库实现简陋的遮羞布可真好用啊。一般来说语言抽象度越高,出现性能问题的可能性也就越高,而语言上的抽象度低的同时性能还一般的语言这个星球上恐怕就只有 Go 这一个了。
为什么Go性能还不如Rust?由讯客互联技术交流栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“为什么Go性能还不如Rust?”