![]() |
1
5
关于我的问题评论,我们已经确定这是一个附带了调试器的调试版本。这有一个 大量的 我猜在发布版本和没有附加调试程序的情况下,性能差异现在更加合理了。 如果您有一个非常健谈的API,并且被调用的本机方法很便宜,那么方法调用开销可能是一个性能问题。尝试设计一个不那么健谈的API。这是一种用于提高边界系统通信性能的典型技术。 如果在对调试器问题进行排序之后,性能是可以接受的,那么有一种简单的技术,我可以通过添加单个属性轻松地在chattyapi中获得显著的性能提高。 在具有导入函数(即DllImport函数)的类中,将 SuppressUnmanagedCodeSecurity 类的属性。这将从每个P/Invoke调用中删除一些昂贵的安全检查。请参阅上的文档 |
![]() |
2
3
也许是字符串编组导致了减速。为了便于比较,尝试配置一个函数,该函数需要并返回基本C++类型。
在C++/CLI汇编中:
|
![]() |
Mike Bruno · 访问模拟帐户的私钥 7 年前 |
![]() |
John · 通过P/Invoke使用回调和堆对象的安全方法 8 年前 |
![]() |
Residuum · 带有P/Invoke和指针的泛型 9 年前 |
![]() |
hl3mukkel · 约束与使用SafeHandle的抽象类 9 年前 |