pegjs/benchmark
David Majda c3b5c2131a Benchmark: Factor benchmark into several functions run using |setTimeout|
We do this for two reasons:

  1. To avoid bowser mechanism for interrupting long-running scripts to
     kick-in (or at least to not kick-in that often).

  2. To ensure progressive rendering of results in the browser (some
     browsers do not render at all when running JavaScript code).

This does not change the benchmark suite execution speed statistically
significantly on V8.

Detailed results (benchmark suite totals):

---------------------------------
 Test #     Before       After
---------------------------------
      1   31.04 kB/s   31.18 kB/s
      2   31.26 kB/s   30.89 kB/s
      3   31.15 kB/s   31.19 kB/s
      4   30.52 kB/s   31.21 kB/s
      5   31.00 kB/s   30.73 kB/s
---------------------------------
Average   30.99 kB/s   31.04 kB/s
---------------------------------

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4
2010-07-24 14:48:12 +02:00
..
css Added a benchmark suite. 2010-03-29 20:18:54 +02:00
json Added a benchmark suite. 2010-03-29 20:18:54 +02:00
index.html Benchmark: Factor benchmark into several functions run using |setTimeout| 2010-07-24 14:48:12 +02:00
README Added a benchmark suite. 2010-03-29 20:18:54 +02:00

PEG.js Benchmark Suite
======================

This is the PEG.js benchmark suite. It measures speed of the parsers generated
by PEG.js on various inputs. Its main goal is to provide data for code generator
optimization.

Running
-------

  1. Start a web server and make it serve the PEG.js root directory (one level
     up from this one).

  2. Point your browser to an URL corresponding to the index.html file.

  3. Wait for the table to fill :-)

If you have Python installed, you can just run the following command in the
PEG.js root directory

  python -m SimpleHTTPServer

and load http://localhost:8000/benchmark/ in your browser.