ARCH9.md (1006B)
1 # ARCH9: Performance Benchmarks (Criterion + Weigh) 2 3 ## Goal 4 5 Establish baseline performance measurement for parsing, CFG building, and 6 analysis with wall-clock timing (criterion) and allocation tracking 7 (weigh), so refactors can be validated quantitatively. 8 9 ## Scope 10 11 - Benchmarks for parser, CFG construction, and taint analysis. 12 - Separate suites for timing (`bench/Main.hs`) and allocations 13 (`bench/Weight.hs`). 14 - Use existing deps only (criterion, weigh already allowed in bench). 15 16 ## Bench Targets 17 18 - Parse a representative large NCG assembly dump. 19 - Build CFG from parsed lines. 20 - Run dataflow (intra-proc) and inter-proc where applicable. 21 22 ## Inputs 23 24 - Use fixtures from `etc/` (real assembly dumps). 25 - If needed, add a smaller fixture for quick local runs. 26 27 ## Reporting 28 29 - Criterion: standard reports and regression comparison support. 30 - Weigh: allocation summaries per benchmark group. 31 32 ## Risks 33 34 - Bench inputs can be large; keep at least one smaller fixture to avoid 35 slow feedback loops.