7

32ビットおよび64ビットのMSWindowsでのInt64とInt32の実際のパフォーマンスの違いは何ですか?

また、2つのオペレーティングシステムバリアントのそれぞれで、Int64とInt32の実際のタイミングを確認することもできます。XPまたはVistaも興味深いでしょう。

  • memcpyのパフォーマンスに関するこの質問も参照してください。
4

4 に答える 4

8

ハードウェアに関しては、64ビットプロセッサには操作を実行するための64ビットレジスタがあるため、Int64はx86よりもx64およびIA64で効率的です。

Int32は、すべてのx86、x64、およびIA64で同等に効率的です。

x64とIA64では、Int32とInt64の両方が同等に効率的です。

x86では、Int32はInt64よりも効率的です。

OS自体に関しては、上記のパフォーマンス結果以外にパフォーマンスの問題が発生することはないと思います。

于 2008-11-11T17:39:00.647 に答える
3

疑わしい場合は、int32 を使用してください。x86 アーキテクチャでより高速であるだけでなく、それらの多くが存在しますが、キャッシュには限りがあり、int64 の 2 倍の int32 を CPU キャッシュに収めることができることを覚えておいてください。

于 2008-11-11T20:28:02.350 に答える
0

64 ビット開発に関する SpankyJ の過去のエントリをフォローすることをお勧めします。

http://blogs.msdn.com/joshwil/archive/2005/04/28/413320.aspx

于 2008-11-13T10:42:05.807 に答える
-1

ハードウェアの観点から、つまりOSがアーキテクチャを最大限に活用している場合、Int64は64ビットシステムでより効率的になります。

Int32は、64ビットシステムが32ビット操作をエミュレートする必要がある場合があるため、32ビットシステムではわずかに効率的です。

于 2008-11-11T17:50:16.300 に答える