Go语言基准测试?

28

我看到有人声称Go的速度几乎可以与C媲美,但是是否已经有任何基准测试结果可用?

6个回答

31

1
你是一名程序员!难道我们编写程序的方式不重要吗?http://www.reddit.com/r/programming/comments/a3yaq/go_added_to_programming_language_shootout_not/c0fqvol - igouy
你说得对,最后一句话应该是“相比之下...还有很长的路要走”,所以我期待学习如何加速基准测试和Go程序的方法。 - Peter Hoffmann
2
哇,仅仅一年就有如此大的性能提升! - Xeoncross
网站已于2022年关闭。 - ggorlen

15

5
基准测试主要来自Debian计算机语言基准测试游戏。我已经开始移植缺失的基准测试:http://github.com/hoffmann/go-shootout。欢迎任何帮助。 - Peter Hoffmann
你说的“missing ones”是什么意思? - igouy
2
Debian计算机语言基准测试游戏有50多个例子,其中只有一些在$GROOT/test/bench中实现。请访问https://alioth.debian.org/scm/viewvc.php/shootout/bench/?root=shootout。 - Peter Hoffmann
@Peter Hoffman - 不是的。它有这里显示的13个示例 - http://shootout.alioth.debian.org/u32q/index.php - 它还删除了一个延续到上个世纪的历史中过时的代码。 - igouy

7

这份文档较为简略,充斥着“也许将来我们会X”和“请关注更多信息”的字眼。Go页面将语言参考列为最佳信息来源,这说明该语言还处于初级阶段。我怀疑目前还没有发布任何基准测试。


6
我写了一个Go版本的GenPrime(可以在我的项目这里找到)。我公布了我收到的结果(与C版本进行比较)在Ferrous Moon的这个主题上。尽管我的Go版本使用了浮点数运算而不是整数运算,但结果仍然令人印象深刻。

2

《Go程序性能优化技术》介绍了Robert Hundt的C++/Scala/Go基准测试,并清晰地解释了如何对Go应用程序进行性能调优。虽然这是一个单一程序的基准测试,但阅读它可以了解性能调优方面的工具支持水平,并且结果表明在Hundt选择的这个特定问题上,Go与C++的竞争力是相当的。


1
请注意,GC是一个简单的标记清除实现。我不明白的是为什么Go没有利用LLVM编译器工具链?

4
我不知道这个说法是否有效,但是常见问题解答中提到:“我们也考虑过将LLVM用于6g编译器,但我们认为它过于庞大和缓慢,无法满足我们的性能目标。” - mjs
据我所知,“太慢”是针对编译速度的,这也是Go语言的主要目标之一。 - fuz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接