gpt4 book ai didi

谷歌 Go 的表现如何?

转载 作者:IT老高 更新时间:2023-10-28 13:00:04 29 4
gpt4 key购买 nike

那么有人用过 Google 的 Go 吗?我想知道数学性能(例如触发器)与其他具有垃圾收集器的语言(如 Java 或 .NET)相比如何?

有人调查过吗?

最佳答案

理论性能:纯 Go 程序的理论性能介于 C/C++ 和 Java 之间。这假设一个高级优化编译器,它还假设程序员利用该语言的所有特性(无论是 C、C++、Java 还是 Go)并重构代码以适应编程语言。

实际性能(截至 2011 年 7 月):标准 Go 编译器(5g/6g/8g)目前无法为高性能数字代码生成高效指令流,因此性能将低于 C/C++ 或 Java .造成这种情况的原因有很多:每个函数调用都有一些额外指令的开销(与 C/C++ 或 Java 相比)、没有函数内联、平均质量的寄存器分配、平均质量的垃圾收集器、有限的删除绑定(bind)能力检查,无法从 Go 访问向量指令,编译器不支持 32 位 x86 CPU 上的 SSE2,等等。

底线:根据经验,预计在纯 Go 中实现的数字代码(由 5g/6g/8g 编译)的性能将比 C/C++ 或 Java 低 2 倍。期待 future 的表现会更好。


实际性能(2013 年 9 月):与 2011 年 7 月以来的旧 Go 相比,Go 1.1.2 能够生成更高效的数字代码,但它们的运行速度仍然比 C/C++ 和 Java 稍慢。编译器甚至在 32 位 x86 CPU 上也使用 SSE2 指令,这导致 32 位数字代码运行得更快,这很可能归功于更好的寄存器分配。编译器现在实现函数内联和转义分析。垃圾收集器也得到了改进,但它仍然不如 Java 的垃圾收集器先进。仍然不支持从 Go 访问向量指令。

底线:性能差距似乎足够小,Go 可以在数值计算中替代 C/C++ 和 Java,除非竞争实现使用向量指令。

关于谷歌 Go 的表现如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6548539/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com