在32位和64位MS Windows上Int64和Int32之间的实际性能差异是什么?

时间:2008-11-11 17:38:01

标签: .net performance memory 64-bit 32-bit

32位和64位MS Windows上Int64和Int32之间的实际性能差异是什么?

在两个操作系统变体的每一个上看到Int64与Int32的实际时序也很棒。 XP或Vista也很有趣。

  • 另请参阅有关memcpy效果的问题。

4 个答案:

答案 0 :(得分:6)

就硬件而言,Int64在x64和IA64上的效率将高于x86,因为64位处理器具有64位寄存器来对它们执行操作。

Int32在所有x86,x64和IA64上同样有效。

在x64和IA64上,Int32和Int64同样有效。

在x86上Int32将比Int64更高效。

就操作系统本身而言,我认为您不会看到任何额外的性能问题,而不是上面提到的性能结果。

答案 1 :(得分:2)

如有疑问,请使用int32。它不仅在x86体系结构上更快,并且其中很多都是常规的,但请记住,您的缓存是有限的,并且您可以将int32放入CPU缓存中两倍于int64。

答案 2 :(得分:0)

您可能希望关注SpankyJ过去的64位开发条目

http://blogs.msdn.com/joshwil/archive/2005/04/28/413320.aspx

答案 3 :(得分:-1)

从硬件角度来看,即如果操作系统充分利用了架构,Int64在64位系统上的效率会更高。

在32位系统上,Int32可能稍微高效,因为64位系统可能必须模拟32位操作。