Планування пікової пам'яті

HotPDF приймає конкуруючі операції з великим слідом через один загальнопроцесний байтовий бюджет, перш ніж вони виділять свої основні робочі набори

Охоплені операції

Кожна операція резервує консервативну оцінку, виведену з розміру джерела, розмірів рендерингу, DPI, порогу потоку та кількості робітників, а потім звільняє резервацію на існуючій межі телеметрії операції

Політика приймання

Шлях без контенції не виділяє подію очікування, тоді як контенційні операції використовують одну приватну подію та не крутяться

Конфігурування

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 є компонентно-локальним і може обходити приймання для довіреної ізольованої роботи, тоді як PeakMemorySchedulerBudgetBytes конфігурує спільний загальнопроцесний планувальник

Статистика

THPDFPeakMemorySchedulerStatistics звітує про поточні та пікові зарезервовані байти, поточні та пікові активні резервації, поточну та пікову кількість очікувачів, загальні та відкладені приймання, приймання надмірних розмірів, скасування та сукупний час очікування

THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds і MemorySchedulerDelayed відносять вартість планування до найновішої операції

Пов'язані API