Skip to content

Commit f612c00

Browse files
committed
Add comprehensive Python parser benchmark: Ruff vs Zuban vs RustPython
Parse the entire CPython stdlib (1,867 files, 34.3 MB, 978K lines) with three Rust-based Python parsers and compare performance in depth. Results (per-file median of 3 runs, release mode): - Ruff: 721ms, 47.6 MB/s — hand-written recursive descent - Zuban: 2,450ms, 14.0 MB/s — LL parser with backtracking (CST output) - RustPython: 2,875ms, 11.9 MB/s — LALR(1) table-driven (lalrpop) Includes 12 plots (bar charts, scatter, CDF, heatmaps, distributions), detailed architectural analysis explaining the 3-4x performance gap, and recommendations for each parser's use case. https://claude.ai/code/session_0116H8dSsjY7pmMiZs5WWjF3
1 parent 4f9313e commit f612c00

17 files changed

+6503
-0
lines changed
121 KB
Loading
95.2 KB
Loading
192 KB
Loading
93.8 KB
Loading
230 KB
Loading
123 KB
Loading

benchmark-plots/07_cdf.png

145 KB
Loading
349 KB
Loading

benchmark-plots/09_errors.png

161 KB
Loading
103 KB
Loading

0 commit comments

Comments
 (0)