Peak Memory Scheduling

HotPDF praleidžia varžančias dideles atmintį naudojančias operacijas per vieną viso proceso baitų biudžetą, prieš joms išskiriant pagrindinius darbinius rėžius

Apimamos operacijos

Kiekviena operacija rezervuoja konservatyvų įvertinimą, išvestą iš jos šaltinio dydžio, atvaizdavimo matmenų, DPI, srauto slenksčio ir darbuotojų skaičiaus, o rezervavimą atlaisvina ten, kur yra esamoji operacijos telemetrijos riba

Priėmimo politika

Nekonkuruojantis kelias laukiamojo įvykio nesikuria, o konkuruojančios operacijos naudoja vieną privatų įvykį ir nesukasi

Konfigūracija

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 veikia atskirai kiekvienam komponentui ir patikriam izoliuotam darbui gali praleisti priėmimą, o PeakMemorySchedulerBudgetBytes konfigūruoja bendrąjį viso proceso planuotoją

Statistika

THPDFPeakMemorySchedulerStatistics praneša dabartinius ir didžiausius rezervuotus baitus, dabartinius ir didžiausius aktyvius rezervavimus, dabartinius ir didžiausius laukiančiuosius, visus ir atidėtus priėmimus, viršijusius dydį priėmimus, atšaukimus ir bendrąjį laukimo laiką

THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds ir MemorySchedulerDelayed planavimo kainą priskiria paskiausiai operacijai

Susijusios API