0
可能重複:
Why does C++ compilation take so long?爲什麼編譯速度在C++和C#中有很大不同?
從C#背景的,我不禁注意到,編譯爲C++和C#代碼的速度不同的lot-- C#是很編譯速度快,但C++相對較慢 - 實際上非常慢。
這是爲什麼?
可能重複:
Why does C++ compilation take so long?爲什麼編譯速度在C++和C#中有很大不同?
從C#背景的,我不禁注意到,編譯爲C++和C#代碼的速度不同的lot-- C#是很編譯速度快,但C++相對較慢 - 實際上非常慢。
這是爲什麼?
兩大原因:
C++有去#include
和解析所有的頭文件(這意味着讀取文本文件,並解釋他們 - 包括模板 - 然後將其擴展到您的權利代碼)而C#使用程序集DLL中的預編譯信息。
潛在的C++優化是方式比C#優化更深遠;他們很容易將C#吹出水面。 C#編譯器從不內聯函數調用(即CLR中即時編譯器的工作),但C++編譯器經常這樣做,等等。 C++編譯器還必須爲整個程序執行JIT編譯器編譯時間(然後一些!),所以它肯定比較慢。
我想說的是,最大罪魁禍首是優化 - 請嘗試關閉所有優化的編譯器中,並注意到增速。
啊,這是一個騙局。但是當我輸入標題時,我無法看到有問題的建議。 – Graviton 2011-03-08 07:42:03