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

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

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