2013-07-31 87 views
0

可以這樣說,編譯/運行在Intel體系結構上的C應用程序的性能將比爲ARM體系結構交叉編譯的應用程序的性能更快嗎?交叉編譯會影響應用程序的性能嗎?

我基本上問是否交叉編譯會對性能產生負面影響。

謝謝!

+0

不應該期望不同的版本,或者在gcc或llvm的情況下,編譯器本身具有編譯時間選項,相同的版本,構建不同的時間或地點,或依靠不同的系統庫必然給出相同的結果對於相同的源代碼和相同的目標。一個簡單的測試就是使用arm系統,並採用相同的gcc和binutils,並創建一個本機編譯器和一個交叉編譯器,並查看是否得到了編譯相同測試代碼的相同結果。然後在非arm系統上重複交叉編譯器。 –

回答

1

通常情況下,不管編譯器本身運行在哪種體系結構上,編譯器都應該爲給定的體系結構輸出相同的機器碼。

+0

不同架構上的編譯器優化O1,O2和O3是否相同? – littleK

+0

我期望如此。 – Jesse

+1

這取決於,完成目標的優化是否可靠,但是如果任何應用到後端或是特定目標,那麼這些目標當然會因目標而異。就交叉編譯器vs原生的同一個目標而言,人們會期望它們產生相同的結果。 –

相關問題