统计性能回归工具
原生控制台工具在 Win32 和 Win64 上测量 HotPDF,并在工作负载超过其版本化阈值时返回失败进程状态
运行门槛
Tests\Performance\Run-HotPDFPerformance.bat
python tools\validate_performance_report.py ^
Tests\Performance\Reports\performance-Win32.json ^
Tests\Performance\Reports\performance-Win64.json
批处理文件构建发布运行器,对每个工作负载执行三次预热后跟 30 个测量样本,应用 Tests\Performance\thresholds.json,并在 Tests\Performance\Reports 下为每个平台写一份报告
在否则空闲的机器上隔离运行门槛,因为调度器争用和无关进程 I/O 故意对测量可见
工作负载
- load 打开确定性四页夹具并物化页面几何
- save 将共享已加载文档序列化到新文件并刷新到存储
- render 以 72 DPI 栅格化每个夹具页面
- extract 提取并验证每个夹具页面的文本
夹具具有固定 PDF 字节和固定的 SHA-256 标识,因此输入变更不能静默重用旧阈值
报告模式
hotpdf.performance.v1 记录产品和工具版本、UTC 时间戳、暖缓存状态、环境、夹具标识、原始样本、摘要、应用阈值、失败和总体通过状态
每个摘要包含最小值、最近秩 p50 和 p95、最大值、算术平均值、N-1 样本方差、标准差、观测和进程峰值 RSS、最大正工作集增长以及总读、写和其他进程 I/O
验证器从原始样本独立重算时序统计、RSS、I/O 总计、阈值决策和聚合通过状态
运行器选项与退出码
HotPDFPerformanceRunner.exe \
--output=report.json \
--thresholds=thresholds.json \
--warmup=3 \
--samples=30
--samples 不能低于 30,--warmup 不能低于一
- 退出码
0表示每个工作负载通过 - 退出码
1表示配置、夹具、解析或执行失败 - 退出码
2表示至少一个性能阈值失败
阈值维护
为 p50、p95、观测 RSS、工作集增长、读字节和写字节保留单独的 Win32 和 Win64 上限
只在审查原始样本、机器条件、夹具标识、实现意图以及两个平台上的重复隔离运行后修订阈值