Statistische prestatie-regressietool
De native console-tool meet HotPDF op zowel Win32 als Win64 en retourneert een mislukte processtatus wanneer een workload zijn versioned drempel overschrijdt
Voer de poort uit
Tests\Performance\Run-HotPDFPerformance.bat
python tools\validate_performance_report.py ^
Tests\Performance\Reports\performance-Win32.json ^
Tests\Performance\Reports\performance-Win64.json
Het batchbestand bouwt release-runners, voert drie opwarmen gevolgd door 30 gemeten steekproeven per workload uit, past Tests\Performance\thresholds.json toe en schrijft één rapport per platform onder Tests\Performance\Reports
Voer de poort in isolatie uit op een anderszins inactieve machine, omdat scheduler-contentie en niet-gerelateerde proces-I/O opzettelijk zichtbaar zijn voor de metingen
Workloads
- load opent het deterministische vier-pagina-fixture en materialiseert de paginageometrie
- save serialiseert het gedeelde geladen document naar een nieuw bestand en spoelt het naar opslag
- render rasteriseert elke fixture-pagina op 72 DPI
- extract extraheert en verifieert tekst over elke fixture-pagina
Het fixture heeft vaste PDF-bytes en een vastgepinde SHA-256-identiteit, zodat een invoerwijziging oude drempels niet stilletjes kan hergebruiken
Rapportschema
hotpdf.performance.v1 legt de product- en tool-versies, UTC-tijdstempel, warm-cache-status, omgeving, fixture-identiteit, ruwe steekproeven, samenvattingen, toegepaste drempels, fouten en de algemene geslaagd-status vast
Elke samenvatting bevat minimum, nearest-rank-p50 en p95, maximum, rekenkundig gemiddelde, N-1-steekproefvariantie, standaardafwijking, waargenomen en proces-pieke-RSS, maximale positieve werksetgroei en totale lees-, schrijf- en overige proces-I/O
De validator herberekent timingstatistieken, RSS, I/O-totalen, drempelbeslissingen en de algemene geslaagd-status onafhankelijk uit de ruwe steekproeven
Runner-opties en exitcodes
HotPDFPerformanceRunner.exe \
--output=report.json \
--thresholds=thresholds.json \
--warmup=3 \
--samples=30
--samples kan niet lager zijn dan 30 en --warmup kan niet lager zijn dan één
- Exitcode
0betekent dat elke workload is geslaagd - Exitcode
1betekent dat configuratie, fixture, parsing of uitvoering is mislukt - Exitcode
2betekent dat ten minste één prestatie-drempel is mislukt
Drempelonderhoud
Houd afzonderlijke Win32- en Win64-plafonds aan voor p50, p95, waargenomen RSS, werksetgroei, lees-bytes en schrijf-bytes
Herzie een drempel alleen na beoordeling van ruwe steekproeven, machinecondities, fixture-identiteit, implementatie-intentie en herhaalde geïsoleerde runs op beide platforms
Zie ook: Schaalbare en willekeurig-toegankelijke PDF-lading, Op-Bereik-gebaseerde eenvoudige-objectparsing, Renderingdiagnostiek en bewerkingstelemetrie