Skip to content

rosetta-rs/parse-rosetta-rs

Repository files navigation

Rust Parsing Benchmarks

This repo tries to assess Rust parsing performance.

crate parser type action code integration input type precedence parameterized rules streaming input
chumsky combinators in source library &str, &[u8], custom pratt Yes Yes
combine combinators in source library &str ? ? ?
grmtools CFG in grammar library ? ? ? ?
lalrpop LR(1) in grammar build script &str none Yes No
lelwel LL(1) in source build script &str pratt No No
logos lexer in source proc macro &str, &[u8] ? ? ?
nom combinators in source library &str, &[u8], custom pratt Yes Yes
parol LL(k)/LALR(1) in source build script &str climbing No No
peg PEG in grammar proc macro (block) &str, &[T], custom climbing Yes No
pest PEG external proc macro (file) &str climbing No No
winnow combinators in source library &str, &[T], custom none Yes Yes
yap combinators in source library &str, &[T], custom none Yes ?

Formerly, we compared:

  • pom: lack of notoriety

Results

Name Overhead (release) Build (debug) Parse (release) Downloads Version
null 0 KiB 164ms 2ms - -
grmtools 2,612 KiB 10s 182ms Download count v0.14.1
chumsky 161 KiB 5s 47ms Download count v0.12.0
combine 175 KiB 4s 53ms Download count v3.8.1
lalrpop 1,523 KiB 12s 40ms Download count v0.23.1
lelwel 175 KiB 7s 33ms Download count v0.10.4
logos 71 KiB 6s 22ms Download count v0.16.1
nom 88 KiB 3s 68ms Download count v8.0.0
parol 480 KiB 9s 184ms Download count v4.4.0
peg 77 KiB 2s 29ms Download count v0.8.5
pest 119 KiB 3s 62ms Download count v2.8.6
serde_json 57 KiB 3s 18ms Download count v1.0.149
winnow 67 KiB 1s 27ms Download count v1.0.1
yap 60 KiB 420ms 40ms Download count v0.12.0

System: Linux 6.17.9-76061709-generic (x86_64), rustc 1.94.1 (e408947bf 2026-03-25) w/ -j 8

Note:

  • For more "Parse (release)" comparisons, see parser_benchmarks
  • Parsers have not been validated and might have differing levels of quality (#5)

Running the Benchmarks

$ ./bench.py
$ ./format.py

About

Comparing parser APIs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages