【发布时间】:2011-01-13 23:24:36
【问题描述】:
几天前有人告诉我,最新版本的 g++ 生成的 x86 代码比 MSVC 2008 “更好”。基本上,经过全面优化的 GCC 比经过全面优化的 MSVC 生成的应用程序更快。
虽然说这肯定是正确的,如果这是真的,很大程度上取决于应用程序和使用的 C++ 代码(我正在为我的应用程序评估此声明),但我想知道该怎么做别人认为。
本质上,在比较这两个编译器的输出时,您的个人经验是什么?
我问的是关于 MinGW 的问题,但如果您在香草 GCC 方面的经验在这里是有效的,也请随时分享。
【问题讨论】:
-
就个人而言,我认为您应该将此标记为主观的,因为您要求的是个人经验(而不是权威答案)。作为一种先发制人的措施(并且您的标签已经用完),社区 wiki 也可能不会受到伤害。
-
这种比较真的很难一概而论。一个编译器可能在一个基准测试上做得更好,而另一个在另一个基准测试上做得更好。最重要的是,这完全取决于程序员是谁以及他们尝试调整它的努力程度。使用特定编译器的程序员可以将代码调整到几乎尽可能快的位置。优化对于热点代码来说很好,但是没有什么可以替代仔细的手动调整以及一个体面的优化编译器。在那个级别,如果编译器之间存在差异,那么它是短暂的。
-
@John:CW 不应该用来抢占任何东西,使用它是错误的,因为无论出于何种原因,您认为某些问题或答案不值得代表。 CW 应该针对仅引出答案的问题,而不是针对 OP,而是针对“社区”。比较“什么编程卡通最适合我的场景......?” vs “什么是好的编程漫画?”卢卡斯能够选择一个最能帮助他解决他提出的问题的答案,或者他也可以将其改写为更符合 CW 导向。但你是对的主观。
标签: c++ visual-studio performance gcc