題 32位應用程序在64位版本上的運行速度是否比在32位版本上慢(在Windows 7上)?


假設一個相當快的CPU(雙核2.9 Ghz)和4 GB的RAM,典型的32位應用程序運行在: 快點 慢點 速度相同 在64位Windows 7上比在32位版本上?


4
2017-12-06 03:15


起源




答案:


它必須運行時運行稍慢 了WoW64 仿真。差異可能不足以讓你注意到,但它確實存在。


12
2017-12-06 03:33



+1簡而言之,但答案很好 - Mokubai♦


實際上,某些應用程序可能運行得更快。系統本身將具有更高效的驅動程序。 x86-64需要 沒有仿真 在32位應用程序中,處理器可以本機運行32位應用程序。 維基百科 實際上有一個很好的技術解釋。


2
2018-01-08 05:21





這是一個非常有爭議和事實特定的問題。沒有一個正確的答案。

普通代碼不需要仿真,僅適用於系統調用。對於大多數應用程序,系統調用是其資源消耗的微不足道的一小部分。因此,在大多數現實情況下,人們會期望它非常非常接近相同。

如果系統有4GB或更多,可能額外內存的好處將超過轉換系統調用的輕微開銷。 32位Windows 7限制在3.5GB左右。額外的內存形成了更大的磁盤緩存,磁盤I / O比典型系統的其他任何東西都要貴。


0
2017-09-08 03:53



操作系統是否知道在4 gb以上的“更高內存”中運行64位應用程序和操作系統內核,並為傳統32位應用程序保留基本4 GB?我覺得這會增加性能,因為它可以清除底部的4 gb,這意味著32位應用程序有更多的工作空間,即使它們自己只能訪問4GB。 - dashnick
@dashnick每個應用程序都有自己的地址空間,因此每個傳統的32位應用程序在64位操作系統上都有自己的4GB基礎。 - David Schwartz
有道理 - 謝謝! - dashnick