2010-03-16 29 views
2

我已經從源代碼構建了一個開源應用程序。不幸的是,原始可執行文件運行速度明顯加快我試圖啓用一些編譯器優化,但結果並不令人滿意。在Visual Studio 2008中還需要做些什麼才能提高可執行性?Visual C++ 9編譯器選項使程序運行更快

謝謝!

+3

需要更多的細節,您設置了哪些優化標誌?什麼開源項目? – Motti 2010-03-16 08:21:00

+2

您構建Debug版本的機率是多少? – 2010-03-16 10:02:58

回答

4

基本上嘗試啓用項目設置中的優化下的所有內容,然後確保鏈接時間碼生成處於打開狀態,啓用功能級鏈接和完整的COMDAT摺疊(只減小EXE的大小,但可以幫助緩存)關閉安全功能,例如通過定義_SECURE_SCL = 0。請記住其中一些設置有其他含義,尤其是安全問題。

1

嘗試在編譯時啓用SSE指令。另外 - 你可以嘗試使用不同的編譯器(GNU GCC)進行編譯。 +可能會啓用一些調試定義,這也可以降低速度。 +檢查,說明原始.exe的版本與您正在編譯的版本相同。

+0

如果他正在編譯windows,他將需要mingw。要使用gcc,我想他會需要cygwin。 – batbrat 2010-03-16 08:25:30

0

在GNU GCC(Windows上的Mingw)編譯時,開源預編譯的二進制文件很可能(白白知道您正在使用哪個項目)。這可能是速度更快的原因。根據question: performance g++ vs. VC++,如果你使用VC++,有些事情會比較慢。