我很早就开始使用纯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