.NET 2.0的应用程序(“任何CPU”)在64位OS / processoer运行速度慢速度慢、应用程序、NET、CPU

2023-09-09 21:16:42 作者:24.姐的流氓甩天下

我的Windows应用程序是deveoped在 .NET 2.0框架,并建立使用'任何CPU ,开发环境是32位操作系统+ 视觉 &工作室NBSP; 2005

My Windows application is deveoped on .NET 2.0 Framework and is build using 'Any CPU', development enviroment is 32-bit OS + VisualStudio2005.

现在我正在部署其上运行速度慢64位processoer + 64位操作系统这个应用程序。

Now I am deploying this application on 64-bit processoer + 64-bit OS it is running slow.

但是,如果我建立使用的x86(32位),其工作良好,没有在64位处理器+ 64位操作系统的任何问题。

But if I build using x86 (32 bit), it is working fine without any issue on a 64-bit processor + 64-bit OS.

我有第三方的组件,如DevEx preSS,剑锋,txtext,的的ComponentOne邮编等。

I have third-party components like DevExpress, Janus, txtext, ComponentOne Zip, etc.

为什么会运行缓慢?

推荐答案

64位不会一直运行得更快。 简短的回答是,64位应用程序占用更多的内存(如果你有64位指针数组它会比同样大小的数组大了32位指针) 更多的内存意味着垃圾收集会更加努力。 读这里和这里了解更多详情。

64 bit will not always run faster. The short answer is that 64 bit application consumes more memory (if you have an array of 64 bit pointers it will be larger than array of the same size with 32 bit pointers) More memory means that the garbage collection will work harder. Read here and here for more details.

在任何情况下,你必须要分析的应用程序,看看那里的瓶颈。 (也许在看GC是一个很好的起点)

In any case you'll have to profile the application and see where's the bottle neck. (maybe looking at the GC is a good place to start)