统计性能回归工具

原生控制台工具在 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 故意对测量可见

工作负载

夹具具有固定 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 不能低于一

阈值维护

为 p50、p95、观测 RSS、工作集增长、读字节和写字节保留单独的 Win32 和 Win64 上限

只在审查原始样本、机器条件、夹具标识、实现意图以及两个平台上的重复隔离运行后修订阈值

另请参阅: 可扩展与随机访问 PDF 加载、基于区间的简单对象解析、渲染诊断与操作遥测