2011-04-01 82 views
2

哪個更受行業軟件開發業務的青睞?有人認爲gcc/g ++在Linux上更受歡迎,而icc在Windows上更受歡迎。還有什麼可以選擇一個嗎?gcc/g ++ vs icc

回答

5

我希望gcc/g ++在開源操作系統上更受歡迎。

MSVC在Windows上更受歡迎。

對於那些試圖從應用程序中提取性能的每一位,並且不想在x86彙編程序中手動優化其應用程序中的瓶頸的人來說,icc會很受歡迎。

不確定最新版本,但支持SIMD指令的早期版本的icc(如SSE和MMX等)具有代碼,以確保SIMD代碼路徑僅爲Intel品牌的CPU執行。所以AMD等人。沿着更慢的代碼路徑走。一些人將這種行爲歸咎於對非英特爾CPU的惡意行爲,更有可能的是,icc人員不會費心測試非英特爾CPU,並且「安全」/保守。

1

那麼ICC自動啓用SSE優化,而我相信gcc和g ++標誌必須設置爲使他們,如果我是正確的。真的沒有太大的區別。 ICC還支持其他一些浮點優化。

另外,如果你有一個英特爾處理器,並且性能至關重要,那麼icc可能會工作,但你不會注意到gcc和icc之間的區別,除非你做了重型FPO。

1

icc對於實際編譯來說明顯快得多 - 至少在linux上。如果你使用的是大型的源代碼庫,那麼這就是使用它的一個很好的理由。

+0

這將是有意義的,因爲ICC是更加面向x86和英特爾處理器與amd,gcc和g ++的一些餘地顯然是非常普遍的,這將解釋爲什麼他們會更慢,同時也試圖優化差異體系結構 – 2011-04-01 18:35:51