2013-07-31 124 views
0

可以这样说,编译/运行在Intel体系结构上的C应用程序的性能将比为ARM体系结构交叉编译的应用程序的性能更快吗?交叉编译会影响应用程序的性能吗?

我基本上问是否交叉编译会对性能产生负面影响。

谢谢!

+0

不应该期望不同的版本,或者在gcc或llvm的情况下,编译器本身具有编译时间选项,相同的版本,构建不同的时间或地点,或依靠不同的系统库必然给出相同的结果对于相同的源代码和相同的目标。一个简单的测试就是使用arm系统,并采用相同的gcc和binutils,并创建一个本机编译器和一个交叉编译器,并查看是否得到了编译相同测试代码的相同结果。然后在非arm系统上重复交叉编译器。 –

回答

1

通常情况下,不管编译器本身运行在哪种体系结构上,编译器都应该为给定的体系结构输出相同的机器码。

+0

不同架构上的编译器优化O1,O2和O3是否相同? – littleK

+0

我期望如此。 – Jesse

+1

这取决于,完成目标的优化是否可靠,但是如果任何应用到后端或是特定目标,那么这些目标当然会因目标而异。就交叉编译器vs原生的同一个目标而言,人们会期望它们产生相同的结果。 –

相关问题