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
- load otevře deterministickou čtyřstánkovou testovací sestavu a materializuje geometrii stránek
- save serializuje sdílený načtený dokument do nového souboru a zapíše jej do úložiště
- render rasterizuje každou stránku testovací sestavy při 72 DPI
- extract extrahuje a ověřuje text napříč každou stránkou testovací sestavy
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
- Kód návratu
0znamená, že každá zátěž prošla - Kód návratu
1znamená selhání konfigurace, testovací sestavy, analýzy nebo provádění - Kód návratu
2znamená, že selhal alespoň jeden výkonnostní práh
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