从源构建编译器是否会导致更好的优化?

Pou*_*uya 2 c++ compiler-construction optimization

考虑这个简单的案例场景:

我为我的通用操作系统(不是Windows)下载了预编译的C++编译器二进制文件(比方说CLangGCC其他).我编译我的代码,其中包含一些计算成本昂贵的数学计算和优化标志-O3,我的执行时间为T1.

在另一次尝试中,这次不是使用预先构建的二进制文件,而是下载源代码并在我的通用机器上自己构建编译器.我使用相同的优化标志编译相同的代码,实现执行时间T2

威尔T2 < T1或他们会或多或少相同?

换句话说,执行时间是否独立于编译器的构建方式?

ten*_*our 7

编译器对代码的优化是编译器行为的结果,而不是编译器的性能.

只要编译器具有相同的行为设计,它就会产生完全相同的输出.