THPDFCompressedSpillStream
Poskytuje prohledávatelný dočasný stream pro data, která by neměla zůstat celá v paměti
Deklarace
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
Model úložiště
- Každý logický blok je nezávisle komprimován rychlou strategií Flate
- Blok zůstává surový, když by komprese přidala alespoň 32 bajtů režie
- Sekvenční zápisy zařazují dokončené bloky do fronty a pracovní vlákno zpracovává více bloků v dávce
- Producent čeká pouze tehdy, když nevyřízené surové bloky dosáhnou
MaxQueuedBytes - Čtení, flush, náhodné přepisy a změny velikosti se synchronizují pouze tehdy, když vyžadují stabilní index bloku
- Náhodný přepis znovu použije aktuální fyzickou pozici, když se náhrada vejde, jinak připojí novou verzi bloku
- Vlastněný dočasný soubor smaže destruktor
Statistika
GetStatistics plní THPDFSpillStatistics logickými a fyzickými bajty, aktuálními počty komprimovaných a surových bloků, počty asynchronních dávek a bloků, čekáními producenta a špičkovým počtem bajtů ve frontě
Viz také: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo