Benchmarker
A benchmarking tool with it's own configuration file.
Usage
Usage: benchmarker [options]
Options:
-h, --help output usage information
-b, --benchfile [file] path to a Benchfile
-q, --quiet quiet mode only shows results
-v, --verbose verbose mode says what is happening
-d, --debug debug mode keeps run information in output
-s, --sort sort mode sorts results by fastest total time
-f, --format [json|csv|tsv|xml] specify the output format
-o, --output [file] save results to output file
-r, --runs [int] how many runs to perform
Try it out
git clone git@github.com:montanaflynn/benchmarker.gitcd benchmarkernpm install./benchmarker -b example/Benchfile
Protip: Use jq to fine-tune the returned json data. Here's an example:
# Be sure to use --quiet or -q so benchmarker only outputs JSON benchmarker --quiet | jq '[.[] | {name: .name, total: .results.total}]'
Readme Driven Development
Thar be dragons below; things may not work or be accurate.
Create a json Benchfile
that has a benchmark
property with an array of objects representing the software you want to benchmark. Each object must have a name
and path
property and may contain an optional command
. You can also send options in an options
object.
Results
For now output is JSON of this structure:
Todos
- I'd like to see charts, outliers, sorting, csv, plugins, etc...