現在、既存の C# Web サイトのパフォーマンス チューニングに取り組んでいます。MyUtil.csというクラスがあります。このクラスは、すべての Web ページで広く使用されています。一部のページでは、10/12 前後のインスタンスが作成されます (MyUtil)。「Redgate」パフォーマンス プロファイラーを実行しました。RedGate によると、オブジェクトの作成はコストのかかる操作です。各インスタンスは特定のプロパティを設定し、特定の操作を実行することに注意してください。そのため、オブジェクトをそのまま再利用することはできません。すべてのメンバー変数をリセットする必要があります。
このコードを最適化したい。次のオプションについて考えました。ここでどちらがより良いアプローチであるかを評価するのを手伝ってください:
(1)「MyUtil.cs」クラスに「Reset」メソッドを作成します。これにより、すべてのメンバー変数がリセットされます(167個あります:(..)。これにより、ページクラスで1つのオブジェクトを再利用できます。
(2) 複数オブジェクトの作成を続行します (「MyUtil」に Dispose() メソッドがあります)。
(3) 「オブジェクト プーリング」を考えましたが、やはりメンバーをリセットする必要があります。オブジェクトをプロジェクト レベルで維持するよりも、ページ レベルでオブジェクトをプールして解放する方がよいと思います。
これに関する返信をいただければ幸いです。前もって感謝します..!