3
A
回答
2
由於-O3意味着積極的內聯,並且-g意味着避免內聯,因此調試器可以有函數地址,但這些選項有些不一致。儘管如此,一般來說-O3會贏,除了一個更大的二進制數 - 以及可能來自分頁或非地址的次要速度效應 - 它應該沒有太大區別。
2
-g
會使您的代碼更大(增加調試符號的空間),並禁用內聯等一些優化,但可能不會明顯變慢。
0
如果你真正的問題是「爲什麼它慢?」 there's an easy way to find out.
相關問題
- 1. 用g ++編譯GLFW代碼
- 2. G ++編譯Visual Studio代碼
- 3. 使用G ++而不是LLVM編譯時代碼顯着較慢代碼
- 4. 使用g ++編譯meep的C++代碼
- 5. scalaxb生成的代碼導致編譯
- 6. 爲什麼編譯此代碼會導致語法錯誤?
- 7. 在反編譯的代碼中導致問題導致問題
- 8. G ++編譯錯誤的STL代碼
- 9. SQL約束會導致緩慢嗎?
- 10. .NET解決方案的哪些部分會導致編譯速度變慢?
- 11. 對編譯查詢應用附加子句會導致重新編譯嗎?
- 12. gdb:使用-g編譯的二進制文件與使用-g編譯的二進制編譯的代碼
- 13. ios - 使用UrbanAirship庫編譯代碼會導致「發佈不可用」錯誤
- 14. 是否有可能編寫會導致編譯時間過長的代碼?
- 15. Java代碼不會編譯
- 16. 代碼不會編譯?
- 17. Google Analytics(分析)跟蹤代碼導致Iframe-Resizer變慢?
- 18. sublime text C++編譯會導致seg fault
- 19. SpecificVersion false會導致編譯錯誤
- 20. 編譯致命錯誤頭文件G ++
- 21. 在Windows和Linux中寫入C會導致編譯問題嗎?
- 22. AutoEventWireup =「true」會導致ASP.NET中的動態編譯嗎?
- 23. 使用大量C代碼塊會導致性能下降嗎?
- 24. 從書中逐字複製的編譯代碼導致編譯器錯誤
- 25. 對視頻進行編碼會導致本地代碼崩潰
- 26. 爲什麼此代碼會導致編譯錯誤「重新定義」?
- 27. strcmpi代碼不會編譯,但strcmp會?
- 28. C++模板用法:改變變量的地方會導致編譯錯誤
- 29. 根據其編碼,Java VM會變慢嗎?
- 30. G ++無法使用Boost for x86編譯代碼
那麼,你試過拿出'-g'標誌,並重新測量性能? – 2011-04-13 22:40:55
@Oli:如果答案是「否,那麼自-O3打開以來就沒有辦法可以處理了」,那麼我就不會費心測試了。但鑑於答案有點模糊,我想我會做測試。 – Frank 2011-04-13 22:48:20
好的,即使這些功能被稱爲1億次,確實沒有什麼區別。 – Frank 2011-04-13 23:03:02