All the following commands are executed from the root of the project.
Launch the benchmark
- you can specify the task to run (
encodeordecode) - you can control run durations with flags (defaults shown below)
- you have to specify the benchmark tag, which will be used to identify the benchmark run
- benchmark results are stored in
./benchmark/output/benchee/<TASK>-<DATE>-<BENCHMARK_TAG>
mix protox.benchmark.run [--task <TASK>] [--warmup 2] [--time 5] [--memory-time 2] [--reduction-time 2] <BENCHMARK_TAG>Example:
# Short run (defaults)
mix protox.benchmark.run --task decode my_tag
# Longer run to reduce variance
mix protox.benchmark.run --task encode --warmup 3 --time 15 --memory-time 5 --reduction-time 5 my_long_tagAggregate the results
mix protox.benchmark.report <BENCHMARK_RESULT_PATHS>Example:
mix protox.benchmark.report ./benchmark/output/benchee/encode-*