2011-03-08 22 views

回答

2

兩大原因:

  1. C++有去#include和解析所有的頭文件(這意味着讀取文本文件,並解釋他們 - 包括模板 - 然後將其擴展到您的權利代碼)而C#使用程序集DLL中的預編譯信息。

  2. 潛在的C++優化是方式比C#優化更深遠;他們很容易將C#吹出水面。 C#編譯器從不內聯函數調用(即CLR中即時編譯器的工作),但C++編譯器經常這樣做,等等。 C++編譯器還必須爲整個程序執行JIT編譯器編譯時間(然後一些!),所以它肯定比較慢。

我想說的是,最大罪魁禍首是優化 - 請嘗試關閉所有優化的編譯器中,並注意到增速。

相關問題