THPDFCompressedSpillStream
메모리에 온전히 상주하면 안 되는 페이로드를 위해 시크 가능한 임시 스트림을 제공합니다
선언
constructor Create(
BlockBytes: Integer = 262144;
BatchBytes: Integer = 1048576;
MaxQueuedBytes: Integer = 4194304);
저장 모델
- 각 논리 블록은 빠른 Flate 전략으로 독립적으로 압축됩니다
- 압축이 최소 32바이트의 오버헤드를 추가하게 될 블록은 원본(raw) 상태로 유지됩니다
- 순차 쓰기는 완성된 블록을 큐에 넣고, 워커가 배치마다 여러 블록을 배출합니다
- 미처리 원본 블록이
MaxQueuedBytes에 도달했을 때만 생산자가 대기합니다 - 읽기, 플러시, 임의 덮어쓰기, 리사이즈는 안정적인 블록 인덱스가 필요할 때만 동기화합니다
- 임의 덮어쓰기는 대체 데이터가 들어맞으면 현재 물리 슬롯을 재사용하고, 그렇지 않으면 새 블록 버전을 추가합니다
- 소유한 임시 파일은 파괴자가 삭제합니다
통계
GetStatistics는 논리 및 물리 바이트, 현재 압축 및 원본 블록 수, 비동기 배치 및 블록 수, 생산자 대기, 최고 큐 적재 바이트를 THPDFSpillStatistics에 채웁니다
함께 보기: THPDFLazyFileStream, LoadedStreamMemoryThreshold, GetLoadedStreamCacheInfo