Statistical Performance Regression Harness

Nativní konzolový testovací nástroj měří aplikaci HotPDF na Win32 i Win64 a vrací neúspěšný stav procesu, když pracovní zátěž překročí svůj práh s verzí

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

Dávkový soubor sestaví release spouštěče, provede tři zahřívací běhy následované 30 měřenými vzorky pro každou zátěž, aplikuje Tests\Performance\thresholds.json a zapíše jeden report pro každou platformu do Tests\Performance\Reports

Spusťte bránu izolovaně na jinak nečinném počítači, protože soupeření o plánovač a nesouvisející I/O procesů jsou měřením záměrně viditelné

Workloads

Testovací sestava má pevné bajty PDF a ukotvenou identitu SHA-256, takže změna vstupu nemůže tiše znovu použít staré prahy

Report schema

hotpdf.performance.v1 zaznamenává verze produktu a nástroje, časové razítko UTC, stav teplé cache, prostředí, identitu testovací sestavy, surové vzorky, souhrny, použité prahy, selhání a celkový stav úspěchu

Každý souhrn obsahuje minimum, nejbližší-rank p50 a p95, maximum, aritmetický průměr, rozptyl vzorků N-1, směrodatnou odchylku, pozorovanou a špičkovou procesní RSS, maximální nárůst pracovní sady a celkové čtení, zápis a další procesní I/O

Ověřovač nezávisle přepočítává časové statistiky, RSS, součty I/O, rozhodnutí o prahu a souhrnný stav úspěchu ze surových vzorků

Runner options and exit codes

HotPDFPerformanceRunner.exe \
  --output=report.json \
  --thresholds=thresholds.json \
  --warmup=3 \
  --samples=30

--samples nemůže být nižší než 30 a --warmup nemůže být nižší než jedna

Threshold maintenance

Udržujte samostatné stropy pro Win32 a Win64 pro p50, p95, pozorovanou RSS, nárůst pracovní sady, přečtené bajty a zapsané bajty

Prah upravujte pouze po přezkoumání surových vzorků, podmínek stroje, identity testovací sestavy, záměru implementace a opakovaných izolovaných běhů na obou platformách

See also: Scalable and Random-Access PDF Loading, Span-Based Simple-Object Parsing, Rendering Diagnostics and Operation Telemetry