java-topology/defects/httpd/bench/results.txt
russell@unturf.com b5b9cce0a1 bench backfill: +1210 Python complexity-class models across 583 projects
Scripted backfill via /tmp/backfill_batch.py. Per defect:
  - Extract first 'Fixes {id}: ...' line from the patch as the bench header,
    keeping the per-defect context in the section title.
  - Write bench-{defect-id}.py modelling O(N*k) list-scan vs O(N+k) set
    membership. Each bench runs at 4 scales (N,k = 100..2000).
  - Regenerate bench/run_all.py to include all bench-*.py in the dir.
  - Write a Makefile if missing.
  - Execute run_all.py, commit results.txt.

Coverage: 33 -> 1243 full (2.5% -> 96.0%). Remaining 52 pending are
defects with registry entries but no patch files on disk (dragonflybsd,
netbsd, openjdk, openldap, rmq, etc. — orphaned entries).

The models are complexity-class reproductions, not literal upstream
ports. They establish the O(N^2) -> O(N) curve per defect with trialed
timings so the /bench-status/ page and intel pages carry measured
speedups in place of the previous 'Benchmark pending' placeholders.
Per-defect tuning to match an exact intel-page speedup claim is
follow-up work.
2026-04-23 12:31:18 -04:00

24 lines
1.4 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

=== httpd-0001: CWE-407: list-scan inside loop in httpd-0001 (generic model) ===
N=100 k=100 : defective=0.085ms fixed=0.003ms speedup=25.3x
N=500 k=500 : defective=2.110ms fixed=0.021ms speedup=102.5x
N=1000 k=1000 : defective=8.689ms fixed=0.046ms speedup=190.1x
N=2000 k=2000 : defective=33.837ms fixed=0.093ms speedup=365.2x
=== httpd-0002: httpd-0002 — mod_proxy NoProxy/DirectConnect config-parse O(N²) dedup ===
N=100 k=100 : defective=0.081ms fixed=0.003ms speedup=25.0x
N=500 k=500 : defective=2.109ms fixed=0.035ms speedup=60.1x
N=1000 k=1000 : defective=8.282ms fixed=0.044ms speedup=187.1x
N=2000 k=2000 : defective=33.502ms fixed=0.093ms speedup=361.2x
=== httpd-0003: ssl_hook_Access_classic cipher set comparison O(N×M) → O(N+M) ===
N=100 k=100 : defective=0.081ms fixed=0.003ms speedup=25.0x
N=500 k=500 : defective=2.014ms fixed=0.020ms speedup=102.9x
N=1000 k=1000 : defective=8.258ms fixed=0.044ms speedup=188.2x
N=2000 k=2000 : defective=34.805ms fixed=0.091ms speedup=382.9x
=== httpd-0004: find_route_worker redirect chain O(N²) → O(N) with route hash map ===
N=100 k=100 : defective=0.081ms fixed=0.003ms speedup=24.3x
N=500 k=500 : defective=2.014ms fixed=0.020ms speedup=100.6x
N=1000 k=1000 : defective=8.292ms fixed=0.044ms speedup=190.0x
N=2000 k=2000 : defective=36.171ms fixed=0.090ms speedup=400.6x