12

この質問/コメントで述べたように、32 ビット .NET から 64 ビット .NET に移行する場合、特定の欠点があります。

おそらく最大の利点は、64 ビット環境でのプロセス アドレス空間がはるかに大きいことですが、注目に値するその他の長所と短所は何ですか?

4

3 に答える 3

6

一部の計算負荷の高い (数値計算) アプリケーションでは、著しく高速 (私の経験では ~ 4x) であることがわかりました。最高のことは、純粋に管理されたケースで無料で提供されることです. 利点を得るために何かを再コンパイルする必要さえありません。また、x64 JIT にはより積極的な最適化があると聞いています。

最大の欠点は、おそらく 32 ビット COM コンポーネントを処理中にロードできないことです。

于 2009-07-08T20:41:09.190 に答える
1

64 ビット アプリは常に 32 ビットよりも高速に実行されるとは限りません。以下の 2 つのブログ投稿で、それについて説明しています

ポインタが大きいほどメモリとキャッシュの消費量が多くなり、使用可能な CPU キャッシュのバイト数は 32 ビット プロセスと 64 ビット プロセスの両方で同じになります。

http://blogs.msdn.com/ricom/archive/2009/06/10/visual-studio-why-is-there-no-64-bit-version.aspx

プロセスの 64 ビット アドレス空間は、おそらく間接的な方法を除いて、ページ フォールトの助けにはなりません。また、データが大きくなるため、直接的な方法では確実に害を及ぼします。対照的に、64 ビット オペレーティング システムは大いに役立ちます。64 ビット OS で 32 ビット アプリとして実行している場合、4G アドレス空間のすべてを取得し、64 ビット ポインターを自分で使用しなくても、物理メモリ (RAM がある場合) によってすべてをバックアップできます。

于 2009-08-28T05:12:41.140 に答える