THPDFCompressedSpillStream
メモリに完全に常駐させるべきではないペイロード用に、シーク可能な一時ストリームを提供する
宣言
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
ストレージ モデル
- 各論理ブロックは高速な Flate 戦略で独立して圧縮される
- 圧縮によって少なくとも 32 バイトのオーバーヘッドが加わる場合、ブロックは raw のまま維持される
- 順次書き込みは完全なブロックをキューに入れ、ワーカーはバッチごとに複数のブロックをドレインする
- プロデューサーは、未処理の raw ブロックが
MaxQueuedBytesに達したときにのみ待機する - 読み取り、フラッシュ、ランダム上書き、リサイズは、安定したブロック インデックスが必要なときだけ同期する
- ランダム上書きは、置換が収まるときは現在の物理スロットを再利用し、それ以外の場合は新しいブロック バージョンを追記する
- 所有する一時ファイルはデストラクタによって削除される
統計
GetStatistics は、論理バイト数と物理バイト数、現在の圧縮済みブロック数と raw ブロック数、非同期バッチ数とブロック数、プロデューサーの待機回数、ピークのキュー バイト数で THPDFSpillStatistics を埋める
関連項目: THPDFLazyFileStream、LoadedStreamMemoryThreshold、GetLoadedStreamCacheInfo