0

プロジェクトにクラスがあるとします。ここで、別の「クラス ライブラリ」を作成し、このクラスをそこに移動します。したがって、このクラスをインスタンス化するには、追加の dll (クラス ライブラリ dll) をロードする必要があります。

.net は 1 つの exe ファイルではなく 2 つのファイル (元の exe ファイル + クラス ライブラリ dll ファイル) を読み取る必要があるため、少し別のプログラムがあることを理解しています。しかし、それ以外に違いはありますか?プログラムがロードされた後、このクラスが最初に配置された場所 (exe または dll) は重要ですか? メモリ内にまったく同じプログラムがありますか?

特に、実行時にクラスをクラス ライブラリに移動するときに遅延を導入できるかどうかに興味がありますか?

この質問は、以前の質問の結果であり、いくつかの「少し接続された」プロジェクトを分割する方法は?

4

2 に答える 2

3

DLL がプロセスのメモリ空間に読み込まれた後、同じコードが代わりに EXE プロジェクトに含まれていた場合と比較して、パフォーマンスに違いはありません。

実際、専用の場所に共通コードを配置することで、長期的にパフォーマンスが向上する可能性があります。共通のコードをメイン プロジェクトに配置する傾向がある場合、コードの実質的な重複が発生する可能性が高く、メンテナンスの頭痛の種と、最終的にはより複雑なアプリケーションのメモリ フットプリントが大きくなる可能性があります)。

于 2012-05-27T17:30:37.577 に答える
2

時期尚早の最適化は諸悪の根源です。- すべてのコードを 1 つのアセンブリに入れることでアプリケーションのパフォーマンスを向上できるとは思わないでください。CLR によって別のファイルをメモリにロードする追加のヒットよりも、メンテナンス ゲインの方がはるかに重要です。

于 2012-05-27T17:33:17.297 に答える