Benchmarking is important if you want to measure how a change can affect the performance of your application. We provide a simple way to benchmark your application from the point of view of a user and contributor. The setup allows you to automate benchmarks in different branches and on different Node.js versions.
The modules we will use:
- Autocannon: A HTTP/1.1 benchmarking tool written in node.
- Branch-comparer: Checkout multiple git branches, execute scripts and log the results.
- Concurrently: Run commands concurrently.
- Npx: NPM package runner used to run scripts against different Node.js Versions and execute local binaries. Shipped with npm@5.2.0.
npm run benchmark
npx -p node@10 -- npm run benchmark
branchcmp --rounds 2 --script "npm run benchmark"
branchcmp --rounds 2 --script "npm run benchmark"
branchcmp --rounds 2 --gitflow --script "npm run benchmark"
or
npm run bench
branchcmp --rounds 2 -s "node ./node_modules/concurrently -k -s first \"node ./examples/asyncawait.js\" \"node ./node_modules/autocannon -c 100 -d 5 -p 10 localhost:3000/\""