2

私の Windows アプリケーションは.NET 2.0 Framework で開発されており、'Any CPU' を使用してビルドされており、開発環境は 32 ビット OS + Visual Studio 2005です。

現在、このアプリケーションを 64 ビット プロセッサ + 64 ビット OS に展開していますが、動作が遅いです。

しかし、x86 (32 ビット) を使用してビルドすると、64 ビット プロセッサ + 64 ビット OS 上で問題なく動作します。

DevExpress、Janus、txtext、ComponentOne Zipなどのサードパーティ コンポーネントがあります。

動作が遅いのはなぜですか?

4

1 に答える 1

1

64ビットは常に高速に実行されるとは限りません。
簡単に言うと、64ビットアプリケーションはより多くのメモリを消費します(64ビットポインタの配列がある場合は、32ビットポインタを使用した同じサイズの配列よりも大きくなります)メモリが多いほど、ガベージコレクションがより困難になります。詳細については、ここここ
を お読みください。

いずれの場合も、アプリケーションのプロファイルを作成し、ボトルネックがどこにあるかを確認する必要があります。
(多分GCを見ることは始めるのに良い場所です)

于 2009-10-08T10:38:48.543 に答える