You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB

Fastify

Benchmarking

Benchmarking is important if you want to measure how a change can impact 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'll 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 - We are using it to run scripts against different Node.js Versions and to execute local binaries. Shipped with npm@5.2.0.

Simple

Run the test in the current branch

npm run benchmark

Run the test against different Node.js versions

npx -p node@6 -- npm run benchmark

Advanced

Run the test in different branches

branchcmp --rounds 2 --script "npm run benchmark"

Run the test in different branches against different Node.js versions

branchcmp --rounds 2 --script "npm run benchmark"

Compare current branch with master (Gitflow)

branchcmp --rounds 2 --gitflow --script "npm run benchmark"

or

npm run bench

Run different examples

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/\""