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 master
git 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.