THPDFCompressedSpillStream
Fournit un flux temporaire adressable pour les palettes qui ne doivent pas rester entièrement en mémoire
Déclaration
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
Modèle de stockage
- Chaque bloc logique est compressé indépendamment avec une stratégie Flate rapide
- Un bloc reste brut lorsque la compression ajouterait au moins 32 octets de surcharge
- Les écritures séquentielles mettent en file les blocs complets et un worker draine plusieurs blocs par lot
- Le producteur n'attend que lorsque les blocs bruts en attente atteignent
MaxQueuedBytes - Les lectures, les vidages, les écrasements aléatoires et les redimensionnements ne se synchronisent que lorsqu'ils exigent un index de bloc stable
- Un écrasement aléatoire réutilise l'emplacement physique courant lorsque le remplacement tient, sinon il ajoute une nouvelle version de bloc
- Le fichier temporaire possédé est supprimé par le destructeur
Statistiques
GetStatistics remplit THPDFSpillStatistics avec les octets logiques et physiques, les nombres courants de blocs compressés et bruts, les nombres asynchrones de lots et de blocs, les attentes du producteur et les octets de pointe en file
Voir aussi: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo