4

重複の可能性:
ライブラリまたは実行可能ファイルに対する未使用のメソッドとプロパティの影響

既存のアプリケーションを開発に使用しているプロジェクトに取り組んでおり、プロジェクトの要件に従ってカスタマイズを行っています。カスタマイズしていると、現在のプロジェクトでは役に立たない関数やメソッドがたくさん見つかりました。そのコードをそのままにして、必要なコードだけをカスタマイズすることを考えていますが、この到達不能コードがアプリケーションのパフォーマンスにどの程度影響するかはよくわかりません。それらをそのままにしておくべきですか、それとも削除するべきですか?

編集:私のアプリケーションでは、DataInteractionアセンブリには20のメソッドが含まれており、そのうち2つは使用されており、残りは使用されていませんが、私の知識によれば、アセンブリのメソッドのいずれかが呼び出された場合、アセンブリ全体がメモリにロードされます。それがパフォーマンスに影響を与えると感じます。

4

4 に答える 4

4

実行可能ファイルのサイズを膨らませるだけです。メソッドが呼び出されない場合、それらはJITされません。

..しかし、あなたは間違いなくそれらをきれいにすることを考えるべきです。それらの用途は何ですか?彼らはコードを肥大化し、コードベースの使用を悪化させます。

ジョンのコメントにも同意します。

編集:

呼び出されていないメソッドに関するコメントへの応答:

ILSpyで使用されていないメソッド

答えはノーです、そうではありません(リリース用にコンパイルされています)。

于 2013-01-22T03:21:56.483 に答える
1

未使用のコードは、パフォーマンスにほとんど影響を与えません。ただし、保守性への影響は別のトピックです。コードは、最初に保守性、可読性、理解性のために管理する必要があります。コードが使用されておらず、使用される可能性が低い場合は、これら3つの対策すべてが削減されるため、コードを削除してください。

問題を測定できるため、問題があることがわかっているときと場所でパフォーマンスに対処します。

于 2013-01-22T03:26:12.773 に答える
1

Microsoft が Visual Studio 2012 をリリースしたとき、コードを分析して最適化できる機能が含まれています。いくつかの重要なルール:

CA1804:未使用のローカルを削除します。未使用のローカル変数と不要な代入は、アセンブリのサイズを増加させ、パフォーマンスを低下させます。

CA1809:過度のローカルを避けます。一般的なパフォーマンスの最適化は、メモリではなくプロセッサ レジスタに値を格納することです。これは、「値の登録」と呼ばれます。すべてのローカル変数が登録される可能性を高めるには、ローカル変数の数を 64 に制限します。

未使用のコードを削除するなど、コードを最適化することは良いことですが、その前に必ずバックアップ コピーを作成してください。未使用のコードの一部は、将来のために再び使用される可能性があります。コードを最適化してパフォーマンスを向上させるために他に何ができるかを確認する。次のリンクにアクセスしてください

http://msdn.microsoft.com/en-us/library/ms182260.aspx

http://msdn.microsoft.com/en-us/library/dd380629.aspx

http://msdn.microsoft.com/en-us/library/ms182125.aspx

http://msdn.microsoft.com/en-us/library/ms182324.aspx

于 2013-01-22T03:56:28.030 に答える
0

この投稿はあなたの質問に答えるはずです。コンパイラーは、未使用のusingステートメントを無視する必要があります。名前空間の一部を使用しているため、コンパイル時に使用される場合でも、名前空間はコピーされるだけで、lib / exeのサイズにのみ影響し、パフォーマンスには影響しません。

于 2013-01-22T03:25:36.843 に答える