你好,游客 登录 注册 搜索
背景:
阅读新闻

通过编译 eddic 来比较 GCC 4.7 和 Clang 3.1 的性能

[日期:2012-11-13] 来源:oschina.net  作者:红薯 [字体: ]

eddic 现在可以使用 Clang 进行编译了(详情), 我想在两个不同的编译器下比较编译时间和生成可执行文件的性能。我选择的编译器是 GCC 4.7.2 和CLang 3.1,测试平台 Gentoo。

编译时间

首先我使用不同的参数比较二者的编译时间,包括 debug 模式以及 -O2 和 -O3 编译参数,编译结果比较:

通过编译 eddic 来比较 GCC 4.7 和 Clang 3.1 的性能

详细数据:

通过编译 eddic 来比较 GCC 4.7 和 Clang 3.1 的性能

这个结果显示 Clang 的编译速度比 GCC 快多了,三个不同的编译模式下,CLang 的速度比 GCC 快近乎两倍。

运行时性能

接下来我测试生成可执行文件的性能,我测试了三件事,整个测试套件和两个测试用例,我知道是最慢的EDDI编译器。针对每种情况,我连续执行 5 个最慢的操作。

通过编译 eddic 来比较 GCC 4.7 和 Clang 3.1 的性能

详细的数据:

通过编译 eddic 来比较 GCC 4.7 和 Clang 3.1 的性能

这次的差别就比较小,-O2 下 gcc 性能稍好,但在 -O3 下就相当了。对这个结果有一些失望,我原想会有大一点的差距。这说明了 Clang 并不是很多人说的比 GCC 优秀很多,当然这也可能取决于所编译的程序不同。

结论

很显然,在编译 eddic 时,Clang 比 GCC 快得多,但是生成的可执行文件在执行性能上没有多大区别。

英文原文OSCHINA 原创翻译

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款