THPDFCompressedSpillStream
Dostarcza przeszukiwalny strumień tymczasowy dla ładunków, które nie powinny na stałe rezydować w całości w pamięci
Deklaracja
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
Model przechowywania
- Każdy blok logiczny jest kompresowany niezależnie szybką strategią Flate
- Blok pozostaje surowy, gdy kompresja dodałaby co najmniej 32 bajty narzutu
- Zapisy sekwencyjne kolejkuje kompletne bloki, a worker opróżnia wiele bloków na partię
- Producent czeka tylko wtedy, gdy zaległe surowe bloki osiągną
MaxQueuedBytes - Odczyty, zrzuty do pliku, losowe nadpisania i zmiany rozmiaru synchronizują się tylko wtedy, gdy potrzebują stabilnego indeksu bloków
- Losowe nadpisanie ponownie używa bieżącego fizycznego slotu, gdy zamiennik się mieści, a w przeciwnym razie dopisuje nową wersję bloku
- Posiadany plik tymczasowy jest usuwany przez destruktor
Statystyki
GetStatistics wypełnia THPDFSpillStatistics bajtami logicznymi i fizycznymi, bieżącymi licznikami bloków skompresowanych i surowych, licznikami partii i bloków asynchronicznych, oczekiwaniami producenta oraz szczytową liczbą zakolejkowanych bajtów
Zobacz także: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo