Планування пікової пам'яті
HotPDF приймає конкуруючі операції з великим слідом через один загальнопроцесний байтовий бюджет, перш ніж вони виділять свої основні робочі набори
Охоплені операції
- Завантаження документа
- Синхронний, кешований і поступовий рендеринг сторінок
- Паралельний рендеринг сторінок, плиток і смуг
- Вибіркова оптимізація потоків
- Обмежена паралельна оптимізація зображень
Кожна операція резервує консервативну оцінку, виведену з розміру джерела, розмірів рендерингу, DPI, порогу потоку та кількості робітників, а потім звільняє резервацію на існуючій межі телеметрії операції
Політика приймання
- Бюджет за замовчуванням у масштабі процесу становить
536870912байт - Значення
0вимикає обмеження бюджету - Очікувачі приймаються в порядку FIFO, щоб пізніший малий запит не морив голодом раніший великий запит
- Запит, більший за налаштований бюджет, може виконуватися лише тоді, коли немає жодної активної резервації
- Збільшення бюджету може негайно прийняти поставлену в чергу роботу, тоді як зменшення ніколи не перериває активну роботу
- Поставлені в чергу очікувачі опитують токен скасування операції з обмеженими інтервалами 50 мс
Шлях без контенції не виділяє подію очікування, тоді як контенційні операції використовують одну приватну подію та не крутяться
Конфігурування
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 відносять вартість планування до найновішої операції