
我自己不是 C 或 C++ 程式設計師,但我經常使用需要編譯或依賴編譯器的軟體,例如一些 R 套件。
如果我使用更新/更好的編譯器,該軟體實際上會表現得更好嗎?例如,現在我使用 Mac OS X 系統版本的 Clang,有人建議我使用更高版本。這只是一個在編譯過程中節省時間和記憶體的建議嗎?或者它實際上會產生更有效率的編譯軟體嗎?
答案1
如果我使用更新/更好的編譯器,該軟體實際上會表現得更好嗎?
這完全取決於給定版本中編譯器的程式碼最佳化功能是否完成。
例如,現在我使用 Mac OS X 系統版本的 Clang,有人建議我使用更高版本。
您應該堅持使用您知道有效的相同編譯器版本,除非您需要僅在更高版本中存在的功能。除非您知道更高版本的功能更有效,否則您不應升級。
這只是一個在編譯過程中節省時間和記憶體的建議嗎?
老實說,這個建議似乎 100% 是基於意見。如果您信任提供此建議的人,那麼您應該接受它。
我應該指出,編譯器是軟體,較新的版本可能會引入新的錯誤,從而導致最佳化例程的效能最差。您應該尋求平衡,最好的方法是始終使用穩定的發布版本。