Razporejanje vršnega pomnilnika
HotPDF sprejme tekmujoče operacije z velikim odtisom prek enega proračuna bajtov na ravni procesa, preden dodelijo svoje glavne delovne nabore
Covered operations
- Document loading
- Nalaganje dokumentov
- Sinhrono, predpomnjeno in progresivno upodabljanje strani
- Selektivna optimizacija tokov
- Omejena vzporedna optimizacija slik
Vsaka operacija rezervira konservativno oceno, izpeljano iz velikosti vira, dimenzij upodabljanja, DPI, praga tokov in števila delavcev, nato sprosti rezervacijo na obstoječi meji telemetrije operacije
Admission policy
- Privzeti proračun na ravni procesa je
536870912bajtov - Vrednost
0onemogoči omejevanje proračuna - Čakajoči se sprejmejo v vrstnem redu FIFO, tako da poznejše majhne zahteve ne morejo izstradati prejšnje velike zahteve
- Zahteva, večja od konfiguriranega proračuna, lahko teče le, ko ni aktivna nobena druga rezervacija
- Povečanje proračuna lahko takoj sprejme čakajoče delo, medtem ko zmanjšanje nikoli ne prekine aktivnega dela
- Čakajoči anketirajo žeton preklica operacije v omejenih intervalih 50 ms
Pot brez tekmovanja ne dodeli dogodka čakanja, medtem ko tekmujoče operacije uporabljajo en zasebni dogodek in se ne vrtijo
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 po komponenti in lahko zaobide sprejemanje za zaupanja vredno izolirano delo, medtem ko PeakMemorySchedulerBudgetBytes konfigurira skupni razporejevalnik na ravni procesa
Statistics
THPDFPeakMemorySchedulerStatistics poroča o trenutnih in vršnih rezerviranih bajtih, trenutnih in vršnih aktivnih rezervacijah, trenutnih in vršnih čakajočih, skupnih in zamaknjenih sprejemih, prevelikih sprejemih, preklicih in skupnem času čakanja
THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds in MemorySchedulerDelayed pripisujejo strošek razporejanja najnovejši operaciji