THPDFCompressedSpillStream
Proporciona un flujo temporal con capacidad de búsqueda para cargas útiles que no deben permanecer completamente residentes en memoria
Declaración
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
Modelo de almacenamiento
- Cada bloque lógico se comprime de forma independiente con una estrategia Flate rápida
- Un bloque permanece sin comprimir cuando la compresión añadiría al menos 32 bytes de sobrecarga
- Las escrituras secuenciales ponen en cola bloques completos y un trabajador procesa varios bloques por lote
- El productor espera solo cuando los bloques sin comprimir pendientes alcanzan
MaxQueuedBytes - Las lecturas, los vaciados, las sobrescrituras aleatorias y los redimensionamientos se sincronizan solo cuando requieren un índice de bloque estable
- Una sobrescritura aleatoria reutiliza la ranura física actual cuando el reemplazo cabe y, de lo contrario, añade una nueva versión de bloque
- El archivo temporal de propiedad se elimina mediante el destructor
Estadísticas
GetStatistics rellena THPDFSpillStatistics con bytes lógicos y físicos, recuentos actuales de bloques comprimidos y sin comprimir, recuentos asíncronos de lotes y bloques, esperas del productor y pico de bytes en cola
Véase también: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo