Benchmarks for the nom, the Rust parser combinators library
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
http update to nom 4 Oct 4, 2018
json fill the hashmap as it's parsed instead of collecting a Vec Oct 5, 2018
mp4 Updated ghc’s base for 8.2.2 & added stack support. Mar 24, 2018
.gitignore Ignore all target directories Mar 23, 2018
README.md mention httparse and picohttpparser Mar 23, 2018

README.md

parser benchmarks

This repository holds benchmarks comparing various parser libraries:

  • nom, a parser combinators library written in Rust
  • combine, a parser combinators library written in Rust
  • pest a PEG parser written in Rust
  • hammer a parsers combinators library written in C
  • attoparsec, a parsers combinators library written in Haskell

Along with existing libraries for comparison:

Right now, there are 3 examples:

  • HTTP request header parsing
  • JSON parsing
  • MP4 filetype atom parsing

The 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.