Benchee formatter to output markdown. A very early beta version.
Add benchee_markdown
to your list of dependencies in mix.exs
:
def deps do
[{:benchee_markdown, "~> 0.3", only: :dev}]
end
Afterwards, run mix deps.get
to install it.
Simply configure Benchee.Formatters.Markdown
as one of the formatters for
Benchee.run/2
along with the file path you want the output to go.
list = Enum.to_list(1..10_000)
map_fun = fn i -> [i, i * i] end
Benchee.run(
%{
"flat_map" => fn -> Enum.flat_map(list, map_fun) end,
"map.flatten" => fn -> list |> Enum.map(map_fun) |> List.flatten() end
},
formatters: [
Benchee.Formatters.Console,
{Benchee.Formatters.Markdown,
file: "my.md",
description: """
This benchmark compares `foobar` with the libs `foo` and `bar`.
"""
}
]
The sample defines both the standard console formatter and the markdown formatter, if you don't care about the console output you can just delete that line.
The :description
is optional. Without a :description
the text "Benchmark run
from 2020-03-24 14:03:11.471713Z UTC" with the actual data time will be
inserted.
Examples can been seen at
Examples can be run under examples
with
mix bench.basic
mix bench.description
mix bench.template