32ビットおよび64ビットのMSWindowsでのInt64とInt32の実際のパフォーマンスの違いは何ですか?
また、2つのオペレーティングシステムバリアントのそれぞれで、Int64とInt32の実際のタイミングを確認することもできます。XPまたはVistaも興味深いでしょう。
- memcpyのパフォーマンスに関するこの質問も参照してください。
ハードウェアに関しては、64ビットプロセッサには操作を実行するための64ビットレジスタがあるため、Int64はx86よりもx64およびIA64で効率的です。
Int32は、すべてのx86、x64、およびIA64で同等に効率的です。
x64とIA64では、Int32とInt64の両方が同等に効率的です。
x86では、Int32はInt64よりも効率的です。
OS自体に関しては、上記のパフォーマンス結果以外にパフォーマンスの問題が発生することはないと思います。
疑わしい場合は、int32 を使用してください。x86 アーキテクチャでより高速であるだけでなく、それらの多くが存在しますが、キャッシュには限りがあり、int64 の 2 倍の int32 を CPU キャッシュに収めることができることを覚えておいてください。
64 ビット開発に関する SpankyJ の過去のエントリをフォローすることをお勧めします。
http://blogs.msdn.com/joshwil/archive/2005/04/28/413320.aspx
ハードウェアの観点から、つまりOSがアーキテクチャを最大限に活用している場合、Int64は64ビットシステムでより効率的になります。
Int32は、64ビットシステムが32ビット操作をエミュレートする必要がある場合があるため、32ビットシステムではわずかに効率的です。