次の方法で共有


.NET のパフォーマンスに関するヒント

パフォーマンスという用語は、通常、プログラムの実行速度を指します。 ソース コードの特定の基本的な規則に従うことで、実行速度を上げることができます。 一部のプログラムでは、コードを詳しく調べ、プロファイラーを使用して、可能な限り高速に実行されていることを確認することが重要です。 他のプログラムでは、コードが記述されているとおりに高速に実行されるため、このような最適化を実行する必要はありません。 この記事では、パフォーマンスが低下する可能性がある一般的な領域と、パフォーマンスを向上するためのヒントと、その他のパフォーマンス に関するトピックへのリンクを示します。 パフォーマンスの計画と測定の詳細については、「パフォーマンス」を参照してください。

ボックス化とボックス化解除

System.Collections.ArrayListなどの非ジェネリック コレクション クラスなど、値型を何度もボックス化する必要がある状況では、値型を使用しないようにすることをお勧めします。 System.Collections.Generic.List<T>などのジェネリック コレクションを使用すると、値型のボックス化を回避できます。 ボックス化とボックス化解除は、計算コストの高いプロセスです。 値型がボックス化されている場合は、まったく新しいオブジェクトを作成する必要があります。 これは、単純な参照割り当ての最大 20 倍の時間がかかる場合があります。 ボックス化を解除すると、キャスト プロセスには割り当ての 4 倍の時間がかかる場合があります。 詳細については、「ボックス化とボックス化解除」を参照してください。

ストリングス

タイト ループなど、多数の文字列変数を連結する場合は、C# + 演算子または Visual Basic 連結演算子の代わりにSystem.Text.StringBuilderを使用します。 詳細については、「Visual Basic で複数の文字列と連結演算子を連結する方法」を参照してください。

ファイナライザー

空のファイナライザーは使用しないでください。 クラスにファイナライザーが含まれている場合は、Finalize キューにエントリが作成されます。 ファイナライザーが呼び出されると、キューを処理するためにガベージ コレクターが呼び出されます。 ファイナライザーが空の場合、単にパフォーマンスが低下します。 詳細については、「 ファイナライザーオブジェクトの有効期間: オブジェクトの作成方法と破棄方法」を参照してください。

その他のリソース

こちらも参照ください