ディレクティブを使用して未使用のパフォーマンスはどのような影響を受けますか?

StackOverflow https://stackoverflow.com/questions/1162766

  •  18-09-2019
  •  | 
  •  

質問

Visual Studioは、新しいページまたはプロジェクトを作成するたびに、ステートメントを使用して自動的に作成します。これらのいくつかはあなたが決して使用しないでしょう。

Visual Studioには、「未使用の使用を削除する」ための便利な機能があります。

アクセスされない使用ステートメントがファイルの上部に記載されたままである場合、プログラムのパフォーマンスにマイナスの影響があるのだろうか。

役に立ちましたか?

解決

未使用の使用は、アプリケーションのランタイムパフォーマンスに影響を与えません。

IDEのパフォーマンスと全体的なコンピレーションフェーズに影響を与える可能性があります。その理由は、名前の解像度が発生する必要がある追加の名前空間を作成するからです。ただし、これらはマイナーである傾向があり、ほとんどのシナリオでIDEエクスペリエンスに顕著な影響を与えるべきではありません。

また、同じ理由でデバッガーでの表現の評価のパフォーマンスに影響を与える可能性があります。

他のヒント

いいえ、それは単なるコンパイル時間/コーディングスタイルです。 .NETバイナリは、フードの下で完全に適格な名前を使用します。

次のリンク 未使用の参照を削除する理由をよく読んでください アプリケーションから未使用の参照を削除することがどのように役立つかを説明します。

以下は、リンクからの抜粋です。

  1. アプリケーションで未使用の参照を削除することにより、あなたは CLR 実行時に未使用の参照モジュールをロードすることから。つまり、各モジュールをロードするのに時間がかかり、使用されないコンパイラロードメタデータがないことを避けるため、アプリケーションのスタートアップ時間を短縮することを意味します。各ライブラリのサイズによっては、スタートアップ時間が著しく短縮されることがわかります。これは、アプリケーションがロードされると速くなると言うことではありませんが、スタートアップの時間が短縮される可能性があることを知るのはかなり便利です。

  2. 未使用の参照を削除するもう1つの利点は、名前空間との対立のリスクを減らすことです。たとえば、両方がある場合 System.DrawingSystem.Web.UI.WebControls 参照されている場合、参照しようとしたときに競合が発生することがわかります Image クラス。クラスにこれらの参照に一致するディレクティブを使用している場合、コンパイラは使用するものをどのように使用するかを知ることができません。開発時にオートコンプリートを定期的に使用する場合、未使用の名前空間を削除すると、入力するときにテキストエディターのオートコンプリート値の数が減ります。

実行速度には影響しませんが、適切なクラスを検索する潜在的な名前空間があるため、コンピレーション速度/インテリセンスにわずかな影響がある場合があります。私はそれについてあまり心配することはありませんが、あなたは整理されたユーザーのメニュー項目を使用して、使用されたステートメントを削除して並べ替えることができます。

実行しないコードは、プログラムのパフォーマンスに影響しません。

いいえ、プログラムをコンパイルするときにいくつかのプロセスが関係しています。コンパイラが参照(クラス、メソッド)の探しを開始すると、コードで使用されるもののみが使用されます。使用法は、コンパイラにどこを見るかを伝えます。ステートメントを使用している未使用の多くは、パフォーマンスの問題を抱えている可能性がありますが、コンパイル時間だけです。実行時に、すべての外部コードがバイナリの一部として適切にリンクまたは含まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top