Peak Memory Scheduling
HotPDF cho phép các thao tác dấu chân cao cạnh tranh qua một ngân sách byte toàn tiến trình trước khi chúng cấp phát các working set chính của mình
Covered operations
- Nạp tài liệu
- Kết xuất trang đồng bộ, có cache và tăng tiến
- Kết xuất song song theo trang, ô và dải
- Tối ưu stream chọn lọc
- Tối ưu ảnh song song có giới hạn
Mỗi thao tác dự trữ một ước tính thận trọng suy từ kích thước nguồn, kích thước dựng, DPI, ngưỡng stream, và số worker, sau đó giải phóng dự trữ tại ranh giới telemetry thao tác hiện có
Admission policy
- Ngân sách toàn tiến trình mặc định là
536870912byte - Giá trị
0vô hiệu hóa giới hạn ngân sách - Các bên chờ được cho phép theo thứ tự FIFO nên các yêu cầu nhỏ đến sau không thể bỏ đói một yêu cầu lớn đến trước
- Một yêu cầu lớn hơn ngân sách đã cấu hình chỉ có thể chạy khi không có dự trữ nào khác đang hoạt động
- Tăng ngân sách có thể cho phép công việc đang chờ ngay lập tức, trong khi giảm nó không bao giờ làm gián đoạn công việc đang hoạt động
- Các lượt chờ trong hàng đợi poll token hủy bỏ thao tác ở các khoảng 50 ms có giới hạn
Đường dẫn không tranh chấp không cấp phát sự kiện chờ, trong khi các thao tác tranh chấp dùng một sự kiện riêng và không spin
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 theo từng component và có thể bỏ qua việc cho phép cho công việc cô lập đáng tin cậy, trong khi PeakMemorySchedulerBudgetBytes cấu hình bộ lập lịch toàn tiến trình dùng chung
Thống kê
THPDFPeakMemorySchedulerStatistics báo cáo byte dự trữ hiện tại và đỉnh, dự trữ hoạt động hiện tại và đỉnh, bên chờ hiện tại và đỉnh, tổng và lượt cho phép bị trì hoãn, lượt cho phép quá khổ, hủy bỏ, và tổng thời gian chờ
THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds, và MemorySchedulerDelayed quy chi phí lập lịch cho thao tác gần nhất