2
我头脑中的一些过早优化错误告诉我,我应该将现有的x86 C#应用程序移植到x64,因为它所依赖的非托管DLL的x64版本。我知道答案很可能是做这件事,测试并看看会发生什么,但我想看看通常会有什么好处。我在两到四年前发现了很多帖子,抱怨说x64 CLR速度比x86 CLR慢。x64的优点CLR
当人们可以预期加快x64代码时,哪些领域?除了需要超过2 GB的内存外,是否值得移植?我的代码主要是面向网络的,处理中等大小的字节数组和加密算法。
downvoter会不会解释为什么他们低估了这个问题? +1来抵消它。 – Ameen 2013-02-10 06:42:58
FWIW 32位大地址感知应用程序如果在64位操作系统上运行它,实际上会获得整个4 GB地址空间,因此这是一种让应用程序能够访问更多内存的简单方法。 – 2013-02-10 07:26:24
这个问题很难回答,没有具体细节。 64位代码通常比32位代码慢,并且实际上只有几个原因需要移植,IMO:1)您需要的内存超过32位中提供的4GB,或者2)您有一位客户坚持你应该有一个64位版本,或者3)你需要与一个64位系统(例如,Office或Windows资源管理器扩展)交互。如果你没有明确的需要做这个港口,不要这样做;这意味着你有另一个测试和调试平台。 – 2013-02-10 07:27:23