Peak Memory Scheduling

Aplikace HotPDF připouští soupeřící operace s velkým dopadem na paměť prostřednictvím jednoho celoprocesového rozpočtu bajtů dříve, než alokují své hlavní pracovní sady

Covered operations

Každá operace rezervuje konzervativní odhad odvozený z velikosti zdroje, rozměrů vykreslení, DPI, prahu streamu a počtu pracovníků a rezervaci uvolní na stávající hranici telemetrie operace

Admission policy

Cesta bez soupeření nealokuje žádnou událost čekání, zatímco operace se soupeřením používají jednu soukromou událost a neprovádějí aktivní čekání

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 je per-komponentní a může obejít připouštění pro důvěryhodnou izolovanou práci, zatímco PeakMemorySchedulerBudgetBytes konfiguruje sdílený celoprocesový plánovač

Statistics

THPDFPeakMemorySchedulerStatistics hlásí aktuální a špičkové rezervované bajty, aktuální a špičkové aktivní rezervace, aktuální a špičkový počet čekajících, celkový a zpožděný počet připuštění, připuštění nad měřítko, zrušení a celkovou dobu čekání

THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds a MemorySchedulerDelayed přiřazují náklady plánování k nejnovější operaci

Související API