最近 64 位 ARM 手机开始出现。但是构建 64 位应用程序有什么实际优势吗?特别考虑到对增加的虚拟地址空间没有多大用处的应用程序¹,但会因增加的指针大小而浪费一些空间。
那么 ARM64 是否有任何其他优势,而不是实际保证构建此类 64 位应用程序的更大地址?
注意:我见过 64-bit Performance Advantages ,但它只提到了 x86-64,除了扩展的虚拟地址空间之外,它还有其他改进。我还记得这种情况确实特定于 x86 和其他一些像 Sparc 这样的 64 位平台,通常的方法是只编译内核和实际使用大量内存的应用程序为 64 位,其他所有为 32 -少量。
¹该应用程序是多平台的,它仍然需要为内存低至 48MiB 的设备构建和运行。确实有一些从外部存储读取的大数据,但它一次不需要超过几兆字节的数据。
最佳答案
我不确定是否可以给出一般性答复,但我可以提供一些差异示例。当然,在 ARM 架构的第 8 版中添加了其他差异,无论目标指令集如何,这些差异都适用。
AArch64 中的性能提升
AArch64 中的性能负面变化
ARMv8-A 中与性能相关的更改
我可能忘记了很多事情,但这些是一些更明显的变化。
关于performance - ARM64 有性能优势吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26840776/