首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译编译器编译代码的性能

编译编译器编译代码的性能
EN

Stack Overflow用户
提问于 2012-01-23 13:08:46
回答 5查看 535关注 0票数 13

如果我想从MySQLdb中获得更好的性能,比方说,我可以自己编译它,并且我会获得更好的性能,因为它不是在i386、i486或其他任何东西上编译的,只是在我的CPU上编译。此外,我可以选择编译选项等等..。现在,我想知道这是否也适用于非常规软件,如编译器.下面是第一部分:

  • 会编译像GCC这样的编译器吗?第二部分:
  • ,我自己编译的编译器编译的代码会表现得更好吗?

(是的,我知道,我可以编译我的编译器并对其进行基准测试.但也许..。有人已经知道了答案,并将与我们分享

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-23 13:13:09

在回答你的第一个问题时,几乎可以肯定是肯定的。二进制版本的gcc将是“最低公分母”,如果您用更适合您的系统的特殊标志编译它们,它很可能会更快。

至于你的第二个问题,没有。

不管您如何优化编译器,编译器的输出都是相同的(当然,除非它是错误的)。

换句话说,即使在编译gcc时完全堵塞了编译器标志,到了编译"Hello“需要一个半星期的时间,实际的"Hello”可执行文件也应该与“最低公分母”gcc生成的文件相同(如果使用相同的标志)。

票数 14
EN

Stack Overflow用户

发布于 2012-01-23 13:13:44

(1)这是可能的。如果您在编译器中引入了一个新的优化,并将其重新编译并包含此优化,那么重新编译的代码可能会执行得更好。

(2) No.编译器无法更改代码的逻辑!在您的情况下,代码的逻辑是在结束时生成的本机代码。因此,如果编译器A_1是使用编译器A_2或B编译的,则不影响A_1在这里生成的本地代码-- A_1,A_2是相同的编译器,索引只是为了清晰起见。

票数 5
EN

Stack Overflow用户

发布于 2012-01-23 13:13:19

a.Well,您可以将编译器编译到您的系统中,也许它会运行得更快。就像任何程序一样。(我认为这通常是不值得的,但要做什么就做什么)。

b.不。即使在计算机中编译编译器,它的行为也不应该改变,所以它生成的代码也不会改变。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8972138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档