Statistički okvir za regresije performansi
Izvorni konzolni okvir meri HotPDF na Win32 i Win64 i vraća status procesa sa greškom kada opterećenje prekorači svoj verzionisani prag
Pokrenite kapiju
Tests\Performance\Run-HotPDFPerformance.bat
python tools\validate_performance_report.py ^
Tests\Performance\Reports\performance-Win32.json ^
Tests\Performance\Reports\performance-Win64.json
Batch datoteka gradi release pokretače, izvodi tri zagrevanja praćena 30 merenih uzoraka po opterećenju, primenjuje Tests\Performance\thresholds.json i upisuje po jedan izveštaj po platformi pod Tests\Performance\Reports
Pokrenite kapiju u izolaciji na inače neaktivnoj mašini jer su konkurencija planera i nepovezani procesni I/O namerno vidljivi merenjima
Opterećenja
- load otvara deterministički fiksni uređaj od četiri stranice i materijalizuje geometriju stranica
- save serijalizuje deljeni učitani dokument u svežu datoteku i ispira je u skladište
- render rasterizuje svaku stranicu fiksnog uređaja na 72 DPI
- extract izdvaja i verifikuje tekst na svakoj stranici fiksnog uređaja
Fiksni uređaj ima fiksne PDF bajtove i prikačen SHA-256 identitet tako da promena ulaza ne može tiho ponovo koristiti stare pragove
Šema izveštaja
hotpdf.performance.v1 beleži verzije proizvoda i okvira, UTC vremensku oznaku, stanje toplog keša, okruženje, identitet fiksnog uređaja, sirove uzorke, sažetke, primenjene pragove, greške i ukupno stanje prolaza
Svaki sažetak sadrži minimum, p50 i p95 najbližeg ranga, maksimum, aritmetičku sredinu, varijansu uzorka N-1, standardnu devijaciju, posmatrani i vršni RSS procesa, maksimalni pozitivni rast radnog skupa i ukupne procesne I/O čitanja, upisivanja i ostalo
Validator nezavisno ponovo izračunava statistiku vremena, RSS, I/O ukupne, odluke pragova i agregatno stanje prolaza iz sirovih uzoraka
Opcije pokretača i izlazni kodovi
HotPDFPerformanceRunner.exe \
--output=report.json \
--thresholds=thresholds.json \
--warmup=3 \
--samples=30
--samples ne može biti manji od 30 i --warmup ne može biti manji od jedan
- Izlazni kod
0znači da je svako opterećenje prošlo - Izlazni kod
1znači da je konfiguracija, fiksni uređaj, parsiranje ili izvršavanje neuspelo - Izlazni kod
2znači da je bar jedan prag performansi neuspeo
Održavanje pragova
Držite odvojene Win32 i Win64 plafone za p50, p95, posmatrani RSS, rast radnog skupa, bajtove čitanja i bajtove upisivanja
Revidirajte prag samo nakon pregleda sirovih uzoraka, uslova mašine, identiteta fiksnog uređaja, namere implementacije i ponovljenih izolovanih pokretanja na obe platforme
Pogledajte i: Skalabilno učitavanje PDF-a sa nasumičnim pristupom, Parsiranje jednostavnih objekata zasnovano na opsezima, Dijagnostika renderovanja i telemetrija operacija