性能比较 - GCC和LLVM-GCC

3

我在spec cpu2006基准测试中,使用-O3选项比较了gcc和llvm-gcc在hmmer和mcf上的表现。令人惊讶的是,对于两种情况,gcc都击败了llvm-gcc。这是因为-O3有不同的含义吗?我应该如何进行实验来进行公平的比较?

顺便说一下,我只改变了makefile中的cc来进行实验。

谢谢, Bo

1个回答

7
您似乎对gcc在您的基准测试中击败了llvm感到惊讶。 Phoronix 在这个领域托管了一堆有趣的基准测试。例如,请查看以下内容: (很多可爱的颜色。)
至于“我应该如何建立实验以获得公平比较?”所涉及的问题,您应该比较每个编译器的最快运行时间、最快编译时间、最低内存占用、每瓦操作次数最多以及随着CPU数量的增加而扩展性(您付出代价并选择),并将每个编译器的最快配置与其他编译器的最快配置进行比较。
首先,您需要至少确定每个程序的可变性-每个单独程序在您的平台上运行时变量的重复性有多高。(是的,可信的基准测试需要您的彻底。)

感谢最新的gcc/clang基准测试。新的gcc 4.6表现非常出色 :) - Matthieu M.
请注意,您不能信任 Phoronix 的摘要。大部分数据是好的,但总结往往有利于 LLVM(甚至不诚实):http://draketo.de/light/english/free-software/phoronix-distort-results-gcc-llvm-clang-amd-vishera - Arne Babenhauserheide

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