x32 と呼ばれる比較的新しい Linux ABIがあり、x86-64 プロセッサは 32 ビット モードで実行されるため、ポインタはまだ 32 ビットのみですが、64 ビット アーキテクチャ固有のレジスタは引き続き使用されます。そのため、通常の 32 ビットと同様に最大メモリ使用量は 4GB に制限されますが、ポインタが使用するキャッシュ スペースは 64 ビットよりも少なく、64 ビット演算を効率的に実行でき、より多くのレジスタにアクセスできます。 (16) バニラ 32 ビット (8) よりも。
ワークロードが 4 GB 以内にうまく収まると仮定すると、x32 のパフォーマンスが x86-64 よりも悪くなる可能性はありますか?
余分なメモリスペースが必要ない場合、何も失われないように思えます-常に同じパフォーマンス(すでにキャッシュに収まる場合)またはそれ以上(ポインタースペースの節約によりキャッシュにより多く収まる場合)を取得する必要があります。 . しかし、ページング/TLB などがあっても驚かないでしょう。私が知らない詳細。