pegjs/benchmark
David Majda 9956b42392 Switch from Make to Gulp
The core of the transition is getting rid of Makefile and replacing it
with gulpfile.js. The rest is details (fixing dependencies, changing all
references to "make", etc.).

Target/task names mostly stay the same, so in most cases "gulp foo" does
what "make foo" did before. The only exceptions are "make browser" and
"make browserclean", which are now "gulp browser:build" and "gulp
browser:clean" (it feels more systematic).

Functionality is mostly unchanged (modulo Gulp clutter in the console),
but there are two small exceptions:

  gulp spec

    The reporter now displays just dots while previously it displayed
    spec descriptions. There is also a deprecation warning (most likely
    because I used an old version of gulp-jasmine in order to support
    Jasmine 1.x). I kept these issues unfixed because I plan to switch
    to Mocha soon (#409).

  gulp browser:build

    The copyright header is now added manually both to the development
    and minified build. Before, it was added only to the development
    build and the minified build relied on preserving it using "uglify
    --comments". This was broken since switching to //-style comments.

    There is now also an empty line between the header and the source
    code.

Fixes #444.
2016-10-11 11:53:25 +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
vendor Use jQuery.scrollTo 2.1.2 2016-08-02 16:36:29 +02:00
.eslintrc.json Pass benchmark code through Babel before serving it to the browser 2016-09-08 14:53:12 +02:00
benchmarks.js Avoid aligning object keys 2016-09-22 07:55:30 +02:00
index.css Code generator rewrite 2013-01-01 16:38:09 +01:00
index.html Pass benchmark code through Babel before serving it to the browser 2016-09-08 14:53:12 +02:00
index.js Code style: Fix ESLint "newline-before-return" errors 2016-10-10 10:58:06 +02:00
README.md Switch from Make to Gulp 2016-10-11 11:53:25 +02:00
run Code style: Remove unnecessary "eslint-disable" directives 2016-10-10 10:58:06 +02:00
runner.js Code style: Fix ESLint "object-shorthand" errors 2016-10-10 10:58:05 +02:00
server Code style: Remove unnecessary "eslint-disable" directives 2016-10-10 10:58:06 +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 optimizations.

Running in Node.js

All commands in the following steps need to be executed in PEG.js root directory (one level up from this one).

  1. Install all PEG.js dependencies, including development ones:

    $ npm install
    
  2. Execute the benchmark suite:

    $ gulp benchmark
    
  3. Wait for results.

Running in the Browser

All commands in the following steps need to be executed in PEG.js root directory (one level up from this one).

  1. Make sure you have Node.js installed.

  2. Install all PEG.js dependencies, including development ones:

    $ npm install
    
  3. Serve the benchmark suite using a web server:

    $ benchmark/server
    
  4. Point your browser to the benchmark suite.

  5. Click the Run button and wait for results.