2012-09-01 6 views
13

私は32ビットの組み込みシステムで作業しましたが、16ビットのものよりもネイティブの32ビットタイプ(int、float)を使用する方が一般的に高速でした。減速はプロセッサが16ビットの数値を32ビットに拡張してから演算を実行することに由来します。32ビットアプリケーションは64ビットOSで高速または低速で動作しますか?

私はPCと64ビットOSに移行しました。私の質問は - 32ビットタイプは64ビットマシンでの減速を引き起こすのですか?

たとえば、MyApp.exeを32ビットアプリケーションとしてビルドした場合、64ビットOS以上で実行速度が低下しますか?

私はアプリのパフォーマンスに関係する多くの要因があり、私は意図的に質問(IO速度、高速メモリなど)からこれらの要因を除外していることを理解します。

+1

*あなたが含む*要因は何ですか? –

+0

私は32bitと64bitのCPUの実行を考えていました。しかし、Nate C-Kは、より多くのコードを持っている場合、RAMアクセス時間について良い点を作ってくれます。 –

答えて

8

時には、32ビットアプリケーションが高速で実行され、時には低速で実行されることがあります。パフォーマンスに影響する多くの競合要因があります。一般的にいずれの方向の差もあまり大きくありません。

すべての要素が有効である現実世界でパフォーマンスが常に発生するため、どのような要因をパフォーマンス上の考慮事項から正当に除外できるかはわかりません。スピードは理論的ではなく、孤立して扱うことはできません。ここで

は、著者は、いくつかのベンチマークをした記事です:

http://www.osnews.com/story/5768

彼は、32ビットのバイナリが速く、彼のテスト中であることがわかりました。この記事によると

http://software.intel.com/en-us/articles/moving-from-32-bit-applications-to-64-bit-applications-en/

、64ビットのバイナリがあなたを贈り主でき速い数学:それはここで

は、64ビットアプリケーションへの移行についてインテルから2010年の記事で2004年初頭にSPARC上にありましたしたがって、正しく最適化されていれば数学的に重いコードが速くなるはずです。そうしないと、64ビットコードの方が処理速度が遅くなる可能性があります。メモリが増え、RAMへのアクセスに時間がかかることがあります(頻繁なキャッシュミス)。

関連する問題