Statistički okvir za regresijsko mjerenje performansi
Ugrađeni konzolni okvir mjeri HotPDF na Win32 i Win64 i vraća neuspjeli status procesa kada opterećenje premaši svoj prag vezan uz verziju
Pokrenite vrata
Tests\Performance\Run-HotPDFPerformance.bat
python tools\validate_performance_report.py ^
Tests\Performance\Reports\performance-Win32.json ^
Tests\Performance\Reports\performance-Win64.json
Skripta batch datoteke gradi izdanje runnera, izvodi tri zagrijavanja nakon kojih slijedi 30 mjerenih uzoraka po opterećenju, primjenjuje Tests\Performance\thresholds.json i zapisuje po jedno izvješće po platformi unutar Tests\Performance\Reports
Pokrenite vrata u izolaciji na inače mirovnom računalu jer su utrke raspoređivača i nepovezani procesni unos-izlaz namjerno vidljivi mjerenjima
Opterećenja
- load otvara determinističku ispravu od četiri stranice i materijalizira geometriju stranice
- save serijalizira dijeljeno učitani dokument u svježu datoteku i ispire ga u pohranu
- render rasterski prikazuje svaku ispravnu stranicu na 72 DPI
- extract izvlači i provjerava tekst na svakoj ispravnoj stranici
Isprava ima fiksne PDF bajtove i ukotvljeni SHA-256 identitet tako da promjena ulaza tiho ne ponovno iskoristi stare pragove
Shema izvješća
hotpdf.performance.v1 bilježi verzije proizvoda i okvira, vremensku oznaku UTC, stanje tople predmemorije, okolinu, identitet isprave, sirove uzorke, sažetke, primijenjene pragove, neuspjehe i ukupno stanje prolaza
Svaki sažetak sadrži minimum, najbliži rangirani p50 i p95, maksimum, aritmetičku sredinu, varijancu uzorka N-1, standardnu devijaciju, uočeni i procesni vršni RSS, maksimalni pozitivni rast radnog skupa i ukupni pročitani, zapisani i drugi procesni unos-izlaz
Provjera neovisno ponovno izračunava statističke odredbe vremena, RSS, ukupne unose-izlaze, odluke o pragovima i agregirano stanje prolaza iz sirovih uzoraka
Opcije runnera i izlazni kodovi
HotPDFPerformanceRunner.exe ^
--output=report.json ^
--thresholds=thresholds.json ^
--warmup=3 ^
--samples=30
--samples ne može biti niži od 30, a --warmup ne može biti niži od jednog
- Izlazni kod
0znači da je svako opterećenje prošlo - Izlazni kod
1znači da konfiguracija, isprava, raščlamba ili izvršenje nisu uspjeli - Izlazni kod
2znači da je barem jedan prag performansi neuspješan
Održavanje pragova
Čuvajte zasebne gornje granice za Win32 i Win64 za p50, p95, uočeni RSS, rast radnog skupa, pročitane bajtove i zapisane bajtove
Revidirajte prag tek nakon pregleda sirovih uzoraka, uvjeta na računalu, identiteta isprave, namjere implementacije i ponovljenih izoliranih izvođenja na obje platforme
Pogledajte također: Skalirano i nasumično učitavanje PDF-a, Raščlamba jednostavnih objekata na temelju raspona, Dijagnostika prikazivanja i telemetrija operacija