THotPDF Windowed Local File Mapping

Controla o mapeamento de memória só de leitura, com limites, que LoadFromFile usa em documentos locais grandes

Declarações

property LocalFileMappingThreshold: Int64;
property LocalFileMappingWindowSize: Integer;
property LocalFileMappingCacheWindows: Integer;
property LocalFileMappingAdaptiveGeometry: boolean;
property LastLoadUsedMemoryMapping: boolean;

function GetLastMappedFileStatistics(
  out Statistics: THPDFMappedFileStatistics): boolean;

Predefinições

DefinirPredefiniçãoSignificado
LocalFileMappingThreshold8 MiBMinimum source size that selects memory mapping; zero disables mapping
LocalFileMappingWindowSize16 MiBBytes covered by one allocation-granularity-aligned view
LocalFileMappingCacheWindows4Número máximo de vistas residentes retidas pela cache LRU
LocalFileMappingAdaptiveGeometryTrueRedistribui o mesmo limite de bytes mapeados para acesso sequencial ou aleatório sustentado

Estatísticas

THPDFMappedFileStatistics = record
  FileSize: Int64;
  ConfiguredWindowSize: Int64;
  ConfiguredCacheWindowCount: Integer;
  WindowSize: Int64;
  CacheWindowCount: Integer;
  MappedByteLimit: Int64;
  CurrentMappedBytes: Int64;
  PeakMappedBytes: Int64;
  GeometryChangeCount: Int64;
  SequentialReadCalls: Int64;
  RandomReadCalls: Int64;
  AdaptiveGeometry: Boolean;
  SequentialGeometryActive: Boolean;
  RandomGeometryActive: Boolean;
  ReadCalls: Int64;
  BytesRead: Int64;
  MapCount: Int64;
  CacheHits: Int64;
  FallbackReadCalls: Int64;
  FallbackBytes: Int64;
  DirectTransferCalls: Int64;
  DirectTransferBytes: Int64;
end;

GetLastMappedFileStatistics devolve True only when the last LoadFromFile operation selected mapping

MapCount conta as vistas novas e CacheHits conta as leituras servidas por uma vista existente, permitindo que aplicações e benchmarks ajustem a geometria das janelas aos padrões de acesso reais

MappedByteLimit mantém-se fixo, enquanto WindowSize e CacheWindowCount reportam a geometria ativa; os picos de bytes mapeados, as contagens de padrões e os flags de modo tornam cada adaptação observável

Advanced source types

THPDFMappedFileSource é dono do handle de ficheiro partilhado, do objeto de mapeamento, das janelas LRU sincronizadas, da contagem de referências e do caminho de fallback posicional

THPDFMappedFileStream expõe uma fatia limitada, com suporte de seek, dessa origem, enquanto THPDFMappedFileWindow descreve uma vista interna em cache

Comportamento

Ver também: LocalFileMappingAdaptiveGeometry, LoadFromFile, Carregamento escalável, HPDFTransferStream, LoadedStreamMemoryThreshold