【发布时间】:2010-09-21 20:21:57
【问题描述】:
Int64 和 Int32 在 32 位和 64 位 MS Windows 上的实际性能差异是什么?
如果能在两个操作系统变体中分别看到 Int64 与 Int32 的一些实际时间安排,那就太好了。 XP 或 Vista 也会很有趣。
- 另请参阅有关memcpy 性能的问题。
【问题讨论】:
标签: .net performance memory 64-bit 32-bit
Int64 和 Int32 在 32 位和 64 位 MS Windows 上的实际性能差异是什么?
如果能在两个操作系统变体中分别看到 Int64 与 Int32 的一些实际时间安排,那就太好了。 XP 或 Vista 也会很有趣。
【问题讨论】:
标签: .net performance memory 64-bit 32-bit
就硬件而言,Int64 在 x64 和 IA64 上比 x86 更高效,因为 64 位处理器具有 64 位寄存器来执行对它们的操作。
Int32 在所有 x86、x64 和 IA64 上同样有效。
在 x64 和 IA64 上,Int32 和 Int64 的效率相同。
在 x86 上,Int32 比 Int64 更有效。
就操作系统本身而言,我认为除了上述性能结果之外,您不会看到任何额外的性能问题。
【讨论】:
如有疑问,请使用 int32。它不仅在 x86 架构上速度更快,而且其中有很多是闲置的,而且请记住,您的缓存是有限的,您可以在 CPU 缓存中放入两倍于 int64 的 int32。
【讨论】:
您不妨关注 SpankyJ 以往关于 64 位开发的记录
http://blogs.msdn.com/joshwil/archive/2005/04/28/413320.aspx
【讨论】:
从硬件的角度来看,即如果操作系统充分利用架构,Int64 将在 64 位系统上更高效。
Int32 在 32 位系统上可能稍微高效一些,因为 64 位系统可能必须模拟 32 位操作。
【讨论】: