在64位操作系统中运行32位.NET应用程序很慢

时间:2009-10-29 15:08:10

标签: .net iis .net-3.5 32bit-64bit

我的环境:带有xp的asp.net 3.5框架

我有一个查询。我们使用32位开发了我们的产品。当我们部署在64位机器(Windows 2008虚拟机)时,与32位版本的iis相比,它似乎非常慢。 我们是否需要在64位机器中重新编译我们的程序集以在64位环境中获得更快的响应? 或者是否需要在64位机器上完成任何配置? 如果一个dll符合32位,那么仅在32位iis中运行以获得更快的性能是明智的 干杯 桑杰

3 个答案:

答案 0 :(得分:1)

虚拟机?因为在64位运行32位时性能会急剧降低,所以.net通常不会这样。

答案 1 :(得分:0)

你确定你有足够的记忆吗? 64位.NET应用程序使用更多内存。

您的应用程序是否以64位运行?你为“任何CPU”编译了吗?

有些应用程序在64位上运行较慢只是因为它们“触摸”了更多内存(类的每个实例的开销更高+对象的每个引用都是64位而不是32位) - 导致CPU必须获取从RAM到CPU缓存的数据更频繁。

根据我的经验,64位数据处理/文本处理应用程序运行速度稍慢,但大量使用浮点数的应用程序运行得更快。但是,几乎在所有情况下差异都<20% - 除非64位应用程序没有足够的内存导致操作系统开始将RAM分页到磁盘。

答案 2 :(得分:0)

配置应用程序池以启用32位应用程序可以解决问题。

enter image description here

相关阅读材料: