THPDFCompressedSpillStream
Erbjuder en sökbar temporär ström för nyttolaster som inte bör förbli helt i minnet
Deklaration
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
Lagringsmodell
- Varje logiskt block komprimeras oberoende med en snabb Flate-strategi
- Ett block förblir rå när komprimering skulle tillföra minst 32 byte overhead
- Sekventiella skrivningar lägger fullständiga block i kö och en arbetare tömmer flera block per batch
- Producenten väntar endast när utestående råblock når
MaxQueuedBytes - Läsningar, flushes, slumpmässiga överskrivningar och storleksändringar synkroniserar endast när de kräver ett stabilt blockindex
- En slumpmässig överskrivning återanvänder den aktuella fysiska platsen när ersättningen passar och lägger annars till en ny blockversion
- Den ägda temporära filen tas bort av destruktorn
Statistik
GetStatistics fyller THPDFSpillStatistics med logiska och fysiska byte, aktuella antal komprimerade och råa block, asynkrona batch- och blockantal, producentväntningar samt toppvärde för köade byte
Se även: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo