为什么 x64 位版本比 x32 快得多?

mar*_*eed 3 overheating architecture

最近我注意到我的旧笔记本电脑(东芝卫星 L500-1DT)在基于 x64 的 Ubuntu 版本上运行得比 x32 更好。我的意思是更快 - Adob​​e Flash 视频和应用程序效果更好。软件中心和 APT 应用程序运行非常顺畅。在 x64 上一切正常。冷却风扇的工作量要少得多(不会一直冷却系统,就像在 x32 上一样)。在 x32 位版本上,我有一种感觉,我的电脑会过热。2 周前,当我运行 x32 版本时,我的电池没电了。我不知道,是因为过热还是巧合。它变得非常热,而且非常非常慢。我在 Celeron(R) 双核 CPU T3000 @ 1.80GHz × 2 和 Intel GMA45 视频芯片组(具有 256mb 共享内存)上运行。内存 - 4 GB。Ubuntu 11.10。

这不是唯一的情况,也是我发现 x64 比所谓的“推荐的 32 位版本”运行得更好的唯一情况。我真的对此很好奇,并想一劳永逸地知道答案。

请向我解释这一点或通过链接指导我。

谢谢 !

irr*_*ohn 7

呃,“如果不是更多,取决于它运行的硬件,速度是它的两倍”??啊,要是世界这样运转就好了。

例如,看看这篇文章:Ubuntu 12.04 LTS: 32-bit vs. 64-bit Performance。虽然一些综合基准表现出显着的性能提升,但也有许多表现出只有很小(10% 到 30%)的提升,没有提升,甚至性能下降。这些只是综合基准测试,通常无法提供有用的洞察力,了解在运行基准测试以外的其他操作时系统性能会怎样。

系统性能在很大程度上受“系统”瓶颈的影响,您不能进行全面的概括,例如两倍的位意味着两倍的性能。

话虽如此,我仍然尝试使用 64 位风格的操作系统,因为我希望性能至少会更好一些。虽然 CPU 寄存器的大小增加了一倍,但更重要的可能是寄存器的数量从 x86 中的 8 个增加到 x86_64 64 位模式中的 16 个。这允许编译器潜在地生成更快的代码。有许多这些指令调整,虽然在任何一个实例中可能微不足道,但在系统范围内使用时可能会增加有用的性能增益。

为 32 位 x86 编译的程序也几乎没有性能损失,因为它们可以在“兼容模式”下运行。

人们通常会概括为,如果您只有 4GB 或更少的内存,那么 32 位和 64 位之间没有区别,因此没有理由使用 64 位版本。这是不正确的。CPU 的指令体系结构在 64 位模式下足够不同 (IMO),如果您的硬件支持,则更喜欢使用 64 位操作系统。

毕竟,您不想在 16 位模式下运行 32 位 CPU,对吗?:-)