/parser_benchmarks

Benchmarks for the nom, the Rust parser combinators library

Primary LanguageC

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.