cloudBlobClient.BufferManagerに関する MSDN のドキュメントには、このバッファー マネージャーが大規模なアプリケーションのパフォーマンスを向上させることが記載されています。
私の理解では、このバッファー マネージャーは、多くの小さなトランザクション (多くの Azure テーブル エンティティ呼び出しに見られるように) の GC への負荷を軽減します。
次に、デスクトップの使用に関するリファレンスを読みましたが、デスクトップ/モバイルの使用プロファイルでは、GC の断片化が発生する可能性が低いようです。
IBufferManager インターフェイスは、System.ServiceModel.dll の BufferManager クラスに基づいてパターン化されているため、デスクトップ クライアントは、フレームワークによって提供される既存の実装を簡単に活用できます。
質問
IBufferManager の唯一の目的は、GC の負荷を軽減することですか?
このキャッシュの恩恵を受けるのは、どのワークロード (テーブル、キュー、BLOB) ですか?
IBufferManager を実装する必要がある (測定可能な) 条件は何ですか?
BufferManager はスレッドセーフですか? 必要に応じて割り当てるバッファーのランタイム サーバー側プールを使用できますか?
この bufferManager をどのように実装する必要がありますか? (例: スレッド、IDisposable、静的メソッドの事前割り当て、Redis)