Jon*_*n H 4 c# com performance 64-bit 32-bit
我有一个应用程序,我刚刚迁移到Windows 2008 R2 64位.本质上它是一个C#.NET 4.0 WCF应用程序,它动态调用用VC6 C++编写的32位COM应用程序.
当我在桌面上运行这个Windows 7 32位时,COM调用速度要快得多.
服务器应该是一个更强大的数量级(尽管在HOSTED环境中)
有什么快速/简单的事情我可以检查试图找到它的底部?我今天到期是为了分配给虚拟机的资源,但同时也是如此.
这是一个64位调用32位COM的东西吗?
谢谢!
从64位进程运行32位代码非常耗时,因为它涉及Windows on Windows子系统(WoW).64位代码和32位代码不能在同一进程中运行,这意味着从代码到32位dll的所有调用都必须通过进程和体系结构边界,这涉及一些繁重的数据编组和函数调用编组.
http://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/
进行一些分析以衡量应用程序在不同情况下的性能.
然后做什么给你最大的表现.
然而...
如果您可以访问COM库源代码,那么最好的方法是在x64平台上重新编译它.