Peak Memory Scheduling

HotPDF prijíma konkurenčné operácie s veľkou stopou cez jeden rozpočet bajtov v rámci procesu predtým, než alokujú svoje hlavné pracovné sady

Pokryté operácie

Každá operácia rezervuje konzervatívny odhad odvodený z veľkosti zdroja, rozmerov vykreslenia, DPI, prahu prúdov a počtu pracovníkov, potom uvoľní rezerváciu na existujúcej hranici telemetrie operácie

Politika prijímania

Nekonkurenčná cesta nealokuje žiadnu udalosť čakania, zatiaľ čo konkurenčné operácie používajú jednu súkromnú udalosť a nespínajú

Konfigurácia

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 komponent a môže obísť prijímanie pre dôveryhodnú izolovanú prácu, zatiaľ čo PeakMemorySchedulerBudgetBytes konfiguruje zdieľaný plánovač v rámci procesu

Štatistiky

THPDFPeakMemorySchedulerStatistics hlási aktuálne a špičkové rezervované bajty, aktuálne a špičkové aktívne rezervácie, aktuálnych a špičkových čakajúcich, celkové a oneskorené prijatia, nadrozmerné prijatia, zrušenia a agregovaný čas čakania

THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds a MemorySchedulerDelayed pripisujú náklady na plánovanie najnovšej operácii

Súvisiace API