Performs benchmark for all active expression implementations, and pushes the results to the result repository.
The benchmark suite contains two part: Bundling and Benchmarking.
You can trigger a full build and benchmark run using npm test.
Bundles are stores under bundles and consumed by the respective testing framework.
To create a particular bundle use npm run build-{baseline, ticking, rewriting, interpretation}. Use npm run build-all for a full build.
To develop new benchmarks, run the bundling in watch mode using npm run watch-{baseline, ticking, rewriting, interpretation}.
Are included as subtrees:
git subtree add -P ila/plain https://github.com/active-expressions/programming-contextjs-plain.git mastergit subtree add -P ila/aexpr https://github.com/active-expressions/programming-contextjs-aexpr.git master
You can either run the benchmarks using Karma or by using Mocha directly:
For Karma:
Run karma start to work in watch mode, or karma start --single-run for one-time measurements.
Karma load all compiled files under bundles, so delete some if you want to focus on particular benchmarks.
Results are located under results/latest.json.
For Mocha:
Simply navigate your browser to the benchmark/index.html.
Modify this particular file to decide what files should be benchmarked.
Travis needs a generated access token set as environment variable GH_TOKEN.
After a successful benchmark run, the results are automatically pushed to the dedicated result repository.