关于32位.exe与64位.exe

时间:2015-10-29 05:33:36

标签: c# .net performance performance-testing

32位或64位.exe的性能是否存在差异?或者只是你想在你想要的任何平台上运行你的应用程序(32位处理器或64位处理器)。

我的意思是我有一个控制台应用程序,现在正在生成32位.exe。 当它进行太多的计算时,它的表现非常慢,随着用户群的增加而增加。

如果我将其更改为64位.exe?

,我会获得性能优势

我知道我必须优化我的代码以获得最佳性能。

1 个答案:

答案 0 :(得分:3)

它不是那么简单,两种处理器架构(32位和64位)之间存在一定的差异。 如今,由于各种固有优势以及能够轻松运行具有高内存要求的应用程序,64位系统正在成为标准。用简单的话来比较:

  • 64位系统可以处理更多数据以进行处理

  • 每个进程在64位系统上可以有更高的内存分配(理论上它是2^32 = 4 GB in 32 bit and 2^64 = 16 Exabytes in 64 bit)。实际上,进程受实际RAM大小的限制,32位默认用户内存为2 GB,最大可扩展为3 GB,剩余用于内核进程。即使在64 GB中,也不是所有操作系统都能够为每个进程映射那么多内存,不确定任何消费者版本是否每个进程都达到TB

  • 64位系统具有更多的硬件优化范围

  • 64位系统可以同时运行更多应用程序而不会导致内存不足问题

  • 即使是64位操作系统也是独立的,可以充分利用处理器功能

  • 32位系统通常可以在64位系统上运行,在Windows中使用WOW(Windows on Windows)等技术,但反之亦然。然而,这种运行受到限制,它无法利用64位系统的所有优点。这些过程可以在任务管理器中轻松识别,因为它们包含*32以及名称

Regarding performance, there's no thumb rule but as you would have understood, if a process is slowed down due to lack of memory, there's not enough space in RAM for a process to execute, and it leads to frequent paging in and out of the process, and thus making it relatively slow, when being completely in memory, it would be much faster on a 64 bit system

检查以下链接,它们有许多相关且准确的信息:

32 vs 64 bit FAQ

How To Geek - 32 vs 64 bit

Taking mystery out of 64 bit

Difference between 32 and 64 bit OS