THPDFSpillStatistics Record
Reports the logical and physical sizes, the block compression mix and the async writer behaviour of a compressed spill stream
Declaration
THPDFSpillStatistics= record
LogicalBytes: Int64;
PhysicalBytes: Int64;
BlockCount: Integer;
CompressedBlockCount: Integer;
RawBlockCount: Integer;
AsyncWriteBatchCount: Int64;
AsyncWriteBlockCount: Int64;
ProducerWaitCount: Int64;
PeakQueuedBytes: Int64;
end;
Unit
HPDFObjs
Fields
| Field | Purpose |
|---|---|
LogicalBytes | Size of the uncompressed data the stream shows to readers |
PhysicalBytes | Size the backing spill file on disk currently has |
BlockCount | How many blocks in total are tracked in the block offset table |
CompressedBlockCount | Blocks kept in compressed form |
RawBlockCount | Blocks kept as-is because compression did not pay its way |
AsyncWriteBatchCount | Write batches handed over to the background writer thread |
AsyncWriteBlockCount | Blocks the background writer actually wrote |
ProducerWaitCount | How often the producing thread had to wait because the write queue was full |
PeakQueuedBytes | High-water mark for bytes queued up for asynchronous writing |
Usage notes
- Returned by
THPDFCompressedSpillStream.GetStatisticsonce pending writes have been flushed, and byTHPDFLazyFileStream.GetSpillStatisticsfor streams materialised to disk - The loaded stream cache report rolls these values up into the spill fields of
THPDFLoadedStreamCacheInfo ProducerWaitCountandPeakQueuedBytesexpose the asynchronous writer's backpressure under memory pressure