有一个相对new Linux ABI referred to as x32,其中x86-64处理器以32位模式运行,因此指针仍然只有32位,但仍然使用64位架构特定的寄存器.所以你仍然限制在4GB的最大内存使用量,就像普通的32位一样,但你的指针占用的缓存空间比在64位时少,你可以有效地进行64位运算,并且可以访问更多的寄存器(16)比你在香草32位(8).
假设你的工作负载很好地适应4GB,那么x32的性能是否会比x86-64更差?
在我看来,如果你不需要额外的内存空间什么都不会丢失 – 你应该总是获得相同的性能(当你已经适应缓存时)或更好(当指针空间节省让你更适合缓存) .但如果有分页/ TLB /等,我不会感到惊讶.我不知道的细节.
最佳答案