Peak Memory Scheduling

HotPDF slipper konkurrerende høj-fodaftryk-operationer igennem ét procesvid bytebudget, før de allokerer deres hovedarbejdssæt

Covered operations

Hver operation reserverer et konservativt estimat afledt af sin kildestørrelse, render-dimensioner, DPI, stream-tærskel og arbejderantal og frigiver reservationen ved den eksisterende operationstelemetri-grænse

Admission policy

Den ukontesterede sti allokerer ingen ventehændelse, mens kontesterede operationer bruger én privat hændelse og ikke spinner

Configuration

PDF.PeakMemorySchedulerEnabled := True;
PDF.PeakMemorySchedulerBudgetBytes := 768 * 1024 * 1024;

PDF.ResetPeakMemorySchedulerStatistics;
if PDF.GetPeakMemorySchedulerStatistics(Stats) then
begin
  WriteLn(Stats.PeakReservedBytes);
  WriteLn(Stats.DelayedAdmissionCount);
  WriteLn(Stats.TotalWaitMilliseconds);
end;

PeakMemorySchedulerEnabled er per komponent og kan omgå adgang for betroet isoleret arbejde, mens PeakMemorySchedulerBudgetBytes konfigurerer den delte procesvide scheduler

Statistics

THPDFPeakMemorySchedulerStatistics rapporterer aktuelle og maksimale reserverede bytes, aktuelle og maksimale aktive reservationer, aktuelle og maksimale ventere, samlede og forsinkede adgange, overdimensionerede adgange, annulleringer og samlet ventetid

THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds og MemorySchedulerDelayed tilskriver planlægningsomkostningen til den senest udførte operation

Relaterede API'er