I have actually been running speed tests for a while against the following:

- PEG.js: seems to be the most popular current JS PEG
- Jison: most popular JS parser (used by CoffeeScript), but not PEG
- Narcisses: a hand rolled JS parser in JS

I have been so far comparing the parse times of jquery.js (since this is a 
pretty big file and seems to use many language features). My results on my 
Macbook are:

language.js: 7173 ms

peg.js: 94644 ms

Narcissus: 865 ms

jison: 6372 ms

The speed test is available here: https://github.com/tolmasky/ParserSpeed and 
can be run with node:

$ git clone git://github.com/tolmasky/ParserSpeed.git ParserSpeed
$ cd ParserSpeed
$ node run.js

I also just pushed the optimizations I was referring to in my previous email to 
the optimizations branch if you want to play around with those: 
https://github.com/tolmasky/language/tree/optimizations

On Jul 31, 2011, at 3:58 PM, Alek Paunov wrote:

> Hi List,
> 
> Speaking about the speed, why not just arrange some field comparison tests?
> 
> Francesco, I see that you have developed an JS grammar:
> 
> https://github.com/tolmasky/language/blob/master/languages/JavaScript.language
> 
> It is working, right?
> 
> Let's take Francesco's JS grammar (or other common one) and prepare tests in 
> different PEG parsers for several real (long enough) JS libraries. I propose 
> my favorite:
> 
> http://static.c9.io/static/js/apf_debug.js (Cloud 9 IDE Core Lib)
> 
> as one of test files.
> 
> What the racing teams think? :-)
> Alek


_______________________________________________
PEG mailing list
PEG@lists.csail.mit.edu
https://lists.csail.mit.edu/mailman/listinfo/peg

Reply via email to