我很早就開始使用純C語言,然後轉到C++,現在我正面臨C++/CLI。作爲一個性能怪胎,我總是試圖將最後一滴性能壓縮到每一行代碼。我目前正在一個項目中合理地完成VB.Net(簡單性,資源可用性等),但有幾點非常敏感,我打算在C++/CLI中執行這些部分。但是,只有一小部分可以從託管代碼中取出,而其餘部分則需要保持管理。問題是,與C#或VB.Net相比,編寫C++/CLI託管函數是否會帶來性能上的提升?從我讀過的文檔中我可以理解的,唯一的好處似乎是託管/非託管thunk更輕。是這樣嗎?因爲我甚至不能似乎能夠存儲在非託管數組或結構手柄(我可以操縱更快),如:C++/CLI性能增益
String^mystr = "Oh, my!";
Object^myarray[10];
myarray[0] = mystr; // Can't event be casted to void*, int, HANDLE...
// (however, handles do have a sizeof() == 4 in Win32)
// (I don't expect the handle to behave like a pointer; just stay as handle)
謝謝。雖然我仍然需要描述它的實際開銷是多少,但我知道有關開銷。 – 2009-12-07 18:59:08