THPDFCompressedSpillStream
Tilbyder en seekbar midlertidig strøm til nyttelast, der ikke bør forblive fuldt resident i hukommelsen
Deklaration
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
Lagermodel
- Hver logisk blok komprimeres uafhængigt med en hurtig Flate-strategi
- En blok forbliver rå, når komprimering ville tilføje mindst 32 bytes overhead
- Sekventielle skrivninger stiller fulde blokke i kø, og en arbejder tømmer flere blokke pr. batch
- Producenten venter kun, når udestående rå blokke når
MaxQueuedBytes - Læsninger, flushes, tilfældige overskrivninger og ændringer af størrelse synkroniserer kun, når de kræver et stabilt blokindeks
- En tilfældig overskrivning genbruger den aktuelle fysiske plads, når erstatningen passer, og tilføjer ellers en ny blokversion
- Den ejede midlertidige fil slettes af destruktoren
Statistik
GetStatistics udfylder THPDFSpillStatistics med logiske og fysiske bytes, nuværende antal komprimerede og rå blokke, asynkrone batch- og blokantal, producent-ventninger og maksimale køede bytes
Se også: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo