Statistical Performance Regression Harness
Harness console gốc đo HotPDF trên cả Win32 và Win64 và trả về trạng thái tiến trình thất bại khi một workload vượt ngưỡng có phiên bản của nó
Run the gate
Tests\Performance\Run-HotPDFPerformance.bat
python tools\validate_performance_report.py ^
Tests\Performance\Reports\performance-Win32.json ^
Tests\Performance\Reports\performance-Win64.json
Tệp batch xây dựng các runner release, thực hiện ba lần warmup tiếp theo là 30 mẫu đo mỗi workload, áp dụng Tests\Performance\thresholds.json, và ghi một báo cáo mỗi nền tảng dưới Tests\Performance\Reports
Chạy cổng trong cô lập trên một máy nhàn rỗi vì tranh chấp bộ lập lịch và I/O tiến trình không liên quan được cố ý hiển thị cho các phép đo
Workloads
- load mở fixture bốn trang xác định và materialize hình học trang
- save tuần tự hóa tài liệu đã nạp dùng chung thành một tệp mới và xả nó vào bộ nhớ lưu trữ
- render raster hóa mọi trang fixture ở 72 DPI
- extract trích xuất và xác minh văn bản trên mọi trang fixture
Fixture có byte PDF cố định và định danh SHA-256 được ghim nên một thay đổi đầu vào không thể tái sử dụng lặng lẽ các ngưỡng cũ
Report schema
hotpdf.performance.v1 ghi phiên bản sản phẩm và harness, dấu thời gian UTC, trạng thái cache ấm, môi trường, định danh fixture, mẫu thô, tóm tắt, ngưỡng được áp dụng, lỗi, và trạng thái đạt tổng thể
Mỗi tóm tắt chứa tối thiểu, p50 và p95 hạng gần nhất, tối đa, trung bình số học, phương sai mẫu N-1, độ lệch chuẩn, RSS quan sát và đỉnh tiến trình, tăng trưởng working-set dương tối đa, và tổng I/O đọc, ghi, và khác của tiến trình
Bộ xác thực độc lập tính lại thống kê thời gian, RSS, tổng I/O, quyết định ngưỡng, và trạng thái đạt gộp từ các mẫu thô
Runner options and exit codes
HotPDFPerformanceRunner.exe \
--output=report.json \
--thresholds=thresholds.json \
--warmup=3 \
--samples=30
--samples không thể thấp hơn 30 và --warmup không thể thấp hơn một
- Mã thoát
0nghĩa là mọi workload đều đạt - Mã thoát
1nghĩa là cấu hình, fixture, phân tích, hoặc thực thi thất bại - Mã thoát
2nghĩa là ít nhất một ngưỡng hiệu suất thất bại
Threshold maintenance
Giữ các trần Win32 và Win64 riêng cho p50, p95, RSS quan sát, tăng trưởng working-set, byte đọc, và byte ghi
Chỉ sửa một ngưỡng sau khi rà soát mẫu thô, điều kiện máy, định danh fixture, ý định triển khai, và các lượt chạy cô lập lặp lại trên cả hai nền tảng
See also: Scalable and Random-Access PDF Loading, Span-Based Simple-Object Parsing, Rendering Diagnostics and Operation Telemetry