Commit f612c00
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_0116H8dSsjY7pmMiZs5WWjF31 parent 4f9313e commit f612c00
File tree
17 files changed
+6503
-0
lines changed- benchmark-plots
17 files changed
+6503
-0
lines changedLoading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
0 commit comments