导致 64 位操作系统速度变慢的技术原因

导致 64 位操作系统速度变慢的技术原因

这个帖子,我看了下面的评论。

如果您只有 2GB,我建议您安装 32 位版本,64 位会慢得多(因为 64 位架构存在一些技术原因)

我认为 64 位操作系统占用更多内存,导致可用内存减少,性能可能会更差。但这不应该是唯一的原因。

什么是技术原因关于 64 位架构?

答案1

关于 64 位代码的旧逻辑是基于代码大小,实际上是指针/数据大小。指针和长整数现在都是原来的两倍(8 字节对 4 字节)。所有这些扩展的内存使用量都会使用更多的内存带宽,可能会使您更多地将页面转入磁盘,可能会降低缓存的利用效率,等等。

即便如此,即使在 x86 开始转向 64 位时,转向 64 位也有优势。32 位 ia32 架构始终受到资源限制,并且寄存器数量非常少(添加和移动内容的地方)。当 AMD 发明其 64 位模式时,他们添加了很多寄存器(因为它们不必向后兼容),因此在某些情况下这可能会提高速度,或者至少抵消代码大小增加带来的部分速度损失。

顺便提一句:64 位扩展并非英特尔的原创;它把赌注押在了 Itanium 上,这是一个全新的架构,具有全新的设计。之前帮助英特尔的因素(x86 向后兼容性)这次却伤害了英特尔(Itanium x86 兼容性一开始就很糟糕),现在 Itanium 是一款小众产品。由于之前的许可协议,英特尔能够复制 AMD64 扩展,将其重新命名为 EM64t,然后我们就开始使用它了。

现在,每个芯片都是 64 位的,所以如果你想要一个只有 32 位的芯片,你就是在使用旧技术。而且许多新操作系统需要 64 位才能使用系统中的所有 RAM。

TL;DR 版本:对 64 位模式的警告仅基于一件事(代码大小膨胀),而忽略了其他进步(更好的指令集)。你不会看到太大的差异,请放心担心其他事情

答案2

事实并非如此。在您链接的论坛主题中,有一个指向一些基准测试的链接:http://www.tuxradar.com/node/33TL;DR:现代操作系统 x32 和 x64 之间似乎没有任何显著的性能差异。

答案3

请记住,论坛帖子已有 3 年历史。从那时起,很多事情都发生了变化,例如,许多计算机默认配备 4+GB 的 RAM。如果您只有 2GB 的 RAM,那么迁移到 64 位的理由就不多,特别是如果您的操作系统将任何 32 位进程的最大 RAM 限制为 2GB(即 Windows)。

答案4

在 Windows 中,风险在于内存使用量可能增加,尤其是在同时运行许多应用程序时。这是因为 Windows 库和 DLL 必须在内存中加载两次才能适应不同的 32 位和 64 位应用程序,而在 32 位操作系统中则是同一个库。

当然,只要有 4GB RAM,这种风险就会减轻,x64 版本会提供更大的好处。

相关内容