Latest Results
feat(bench): expand benchmark suite to cover parser, lexer scenarios, and source map
Add 14 benchmarks across 3 crates (previously only 2 lexer benchmarks existed):
- Parser (7): full_program, expressions, declarations, control_flow,
oo_abl, temp_tables, procs_funcs
- Lexer (5): keywords (consolidated from 2 duplicates), strings,
comments, numeric, preprocessor
- Source map (2): construction, lookup
Each benchmark uses dedicated .abl fixture files (~50-100 lines) with
Criterion benchmark groups and throughput reporting (MB/s).
Also fixes a latent infinite loop in parse_program() error recovery:
synchronize() could stop on a token (e.g. END) that can_start_statement
recognises but parse_statement has no handler for, causing the cursor to
never advance. Now detects zero-progress iterations and forces advancement.
MAX_ERRORS=50 added as a secondary safety net.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Latest Branches
0%
release-please--branches--master -17%
0%
© 2026 CodSpeed Technology