Skip to content
A tool to perform benchmarks
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
sample Add matmul sample Aug 13, 2019
spec Add support for computed measures by commands Aug 21, 2019
.editorconfig Initial commit May 3, 2019
.gitignore Add docs of commands and manifest May 6, 2019
.travis.yml Initial commit May 3, 2019 Add support for computed measures by commands Aug 21, 2019
LICENSE Initial commit May 3, 2019 Add ephemeral port-limit link Aug 15, 2019
shard.yml Upgrade to Crystal 0.30 Aug 13, 2019


A tool to perform benchmarks.

Allows declaration of program to run and measurements to do (cpu time, user time, max resident set size, etc.) in a manifest .yml file.

The measurements will already compute average and standard deviation.

It supports client/server programs to run HTTP servers against tools like ab.

It supports runnings the program against multiple configurations.

In OSX, To run the http benchmarks you need to mind the ephemeral port-limit.


$ git clone
$ cd benchy
$ shards build

Use ./bin/benchy or copy it your somewhere in your PATH.


Read the full DOCS or run one of the samples included in ./sample

Ensure that time and ab are installed. $ apt-get install time apache2-utils

$ shards build
$ ./bin/benchy run -v --csv=output.csv --ndjson=output.ndjson ./sample/http.yml

The ndjson file can be used with @bcardiff/benchy-viewer.


  1. Fork it (
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request


You can’t perform that action at this time.