https://github.com/rust-bakery/parser_benchmarks
Benchmarks for the nom, the Rust parser combinators library
https://github.com/rust-bakery/parser_benchmarks
Last synced: 3 months ago
JSON representation
Benchmarks for the nom, the Rust parser combinators library
- Host: GitHub
- URL: https://github.com/rust-bakery/parser_benchmarks
- Owner: rust-bakery
- Created: 2015-02-28T16:35:44.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-01-23T22:09:33.000Z (over 1 year ago)
- Last Synced: 2025-03-17T11:58:37.724Z (3 months ago)
- Language: C
- Homepage:
- Size: 5.82 MB
- Stars: 124
- Watchers: 12
- Forks: 20
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# parser benchmarks
This repository holds benchmarks comparing various parser libraries:
- [nom](https://github.com/Geal/nom), a parser combinators library written in Rust
- [combine](https://github.com/Marwes/combine), a parser combinators library written in Rust
- [pest](https://github.com/pest-parser/pest) a PEG parser written in Rust
- [hammer](https://github.com/UpstandingHackers/hammer) a parsers combinators library written in C
- [attoparsec](https://hackage.haskell.org/package/attoparsec), a parsers combinators library written in HaskellAlong with existing libraries for comparison:
- [Joyent's HTTP parser for NodeJS](https://github.com/nodejs/http-parser), written in C
- [picohttpparser](https://github.com/h2o/picohttpparser), written in C
- [httparse](https://github.com/seanmonstar/httparse), written in RustRight now, there are 3 examples:
- HTTP request header parsing
- JSON parsing
- MP4 filetype atom parsingThe goal of this repository is to gather various parsing solutions and compare them
on performance, but also usability (testing how easy it is to write and maintain
a parser for complex, real world formats).
It is also a good testing ground to see if some techniques might be transferrable from
one parsing solution to another.