Banco de regresión estadística de rendimiento
El banco de consola nativo mide HotPDF tanto en Win32 como en Win64 y devuelve un estado de proceso de fallo cuando una carga de trabajo supera su umbral versionado
Ejecutar la puerta
Tests\Performance\Run-HotPDFPerformance.bat
python tools\validate_performance_report.py ^
Tests\Performance\Reports\performance-Win32.json ^
Tests\Performance\Reports\performance-Win64.json
El archivo por lotes compila los ejecutores de release, realiza tres calentamientos seguidos de 30 muestras medidas por carga de trabajo, aplica Tests\Performance\thresholds.json y escribe un informe por plataforma en Tests\Performance\Reports
Ejecute la puerta de forma aislada en una máquina por lo demás inactiva porque la contención del planificador y la E/S de procesos no relacionados son deliberadamente visibles para las mediciones
Cargas de trabajo
- load abre el banco determinista de cuatro páginas y materializa la geometría de las páginas
- save serializa el documento cargado compartido en un archivo nuevo y lo vacía al almacenamiento
- render rasteriza cada página del banco a 72 DPI
- extract extrae y verifica el texto en todas las páginas del banco
El banco tiene bytes PDF fijos y una identidad SHA-256 fijada para que un cambio de entrada no pueda reutilizar silenciosamente umbrales antiguos
Esquema del informe
hotpdf.performance.v1 registra las versiones del producto y del banco, la marca de tiempo UTC, el estado de caché caliente, el entorno, la identidad del banco, las muestras brutas, los resúmenes, los umbrales aplicados, los fallos y el estado general de aprobación
Cada resumen contiene el mínimo, el p50 y el p95 de rango más cercano, el máximo, la media aritmética, la varianza muestral N-1, la desviación estándar, el RSS observado y el pico de proceso, el crecimiento máximo positivo del conjunto de trabajo y el total de E/S de proceso de lectura, escritura y otras
El validador recalcula de forma independiente las estadísticas de tiempo, el RSS, los totales de E/S, las decisiones de umbral y el estado general de aprobación a partir de las muestras brutas
Opciones del ejecutor y códigos de salida
HotPDFPerformanceRunner.exe \
--output=report.json \
--thresholds=thresholds.json \
--warmup=3 \
--samples=30
--samples no puede ser inferior a 30 y --warmup no puede ser inferior a uno
- El código de salida
0significa que todas las cargas de trabajo pasaron - El código de salida
1significa que falló la configuración, el banco, el análisis o la ejecución - El código de salida
2significa que al menos un umbral de rendimiento falló
Mantenimiento de umbrales
Mantenga techos separados de Win32 y Win64 para p50, p95, RSS observado, crecimiento del conjunto de trabajo, bytes de lectura y bytes de escritura
Solo revise un umbral después de revisar las muestras brutas, las condiciones de la máquina, la identidad del banco, la intención de implementación y las ejecuciones aisladas repetidas en ambas plataformas
Véase también: Carga de PDF escalable y de acceso aleatorio, Análisis de objetos simples basado en intervalos, Diagnósticos de renderizado y telemetría de operaciones