2.0 KiB
2.0 KiB
Benchmarks en kwaliteitsrapportage (VR-116)
Doel
VR-116 levert een reproduceerbaar benchmarkpakket voor:
- parservelddekking;
- deduplicatie-kwaliteit (precision/recall, false merges/missed merges);
- rankingstabiliteit (top-N churn, onbekende-data ratio);
- performance (p50/p95, querycount en memory peak).
De CLI werkt zonder live netwerk met de synthetische fixtures uit fixtures/benchmark/.
Datasets
fixtures/benchmark/quality_benchmark.json
- bevat parsercases met verwachte parserkey/version en verwachte minima;
- bevat dedupe seeds en querycases met verwachte matchlabels;
- bevat geen echte broninhoud of persoonlijke gegevens.
CLI
uv run python scripts/benchmark.py --quick
uv run python scripts/benchmark.py --jobs 25000 --top-n 25
uv run python scripts/benchmark.py --jobs 25000 --json --top-n 25
uv run python scripts/benchmark.py --skip-performance --quick
Rapportformat
De JSON-rapportage bevat minimaal:
parser: dekking en onbekend-aandeel;dedupe: precision, recall, false merges, missed merges;ranking: top-N churn en unknown-data ratio;performance: p50, p95, querycount, peak memory, totale duur;nfr_007: gegraveerde metingstatus/passing van p95 < 1000 ms.
Drempels en interpretatie
- Parser: standaard doel
coverage_ratio >= 0.90. - Dedupe: standaard doel
precision >= 0.90enrecall >= 0.90. - Ranking: standaard doel
churn <= 0.35. - NFR-007: enkel als
nfr_007.measured == truewordt de p95-check als afgewerkt beoordeeld.
Uitvoeringsmodus
--quick: voert parser/dedupe/ranking uit met 250 ingestaste jobs.- standaardmodus: voert ook een performancepass uit op 25.000 jobs (mits runtime toelaatbaar).
--skip-performance: nuttig voor CI/quickvalidatie zonder de lange performance-run.
Afwijkingen
Wanneer p95 of dedupe niet voldoet, rapporteert het script een status failed met detaildata per case.
Die output is bedoeld als regressiebasis voor foutanalyse en threshold-sturing.