THPDFCompressedSpillStream
Biedt een doorzoekbare tijdelijke stream voor payloads die niet volledig in het geheugen mogen blijven
Declaratie
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
Opslagmodel
- Elk logisch blok wordt onafhankelijk gecomprimeerd met een snelle Flate-strategie
- Een blok blijft onbewerkt wanneer compressie ten minste 32 bytes overhead zou toevoegen
- Sequentiële schrijfbewerkingen plaatsen volledige blokken in de wachtrij en een worker verwerkt meerdere blokken per batch
- De producent wacht alleen wanneer openstaande onbewerkte blokken
MaxQueuedBytesbereiken - Leesbewerkingen, flushes, willekeurige overschrijvingen en vergrotingen synchroniseren alleen wanneer ze een stabiele blokindex vereisen
- Een willekeurige overschrijving hergebruikt de huidige fysieke sleuf wanneer de vervanging past en voegt anders een nieuwe blokversie toe
- Het eigendomstijdelijke bestand wordt door de destructor verwijderd
Statistieken
GetStatistics vult THPDFSpillStatistics met logische en fysieke bytes, huidige gecomprimeerde en onbewerkte bloktellingen, asynchrone batch- en bloktellingen, producent-wachttijden en piek-gewachtrijde bytes
Zie ook: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo