Benchee v0.14.0 Benchee.Formatters.Console View Source
Formatter to transform the statistics output into a structure suitable for
output through IO.write on the console.
Link to this section Summary
Link to this section Functions
Link to this function
format(suite) View Source
Link to this function
format(suite, options)
View Source
format(suite, options)
View Source
format(Benchee.Suite.t(), map()) :: [any()]
format(Benchee.Suite.t(), map()) :: [any()]
Formats the benchmark statistics to a report suitable for output on the CLI.
Returns a list of lists, where each list element is a group belonging to one
specific input. So if there only was one (or no) input given through :inputs
then there's just one list inside.
Examples
iex> scenarios = [
...> %Benchee.Benchmark.Scenario{
...> name: "My Job", input_name: "My input", run_time_statistics: %Benchee.Statistics{
...> average: 200.0,
...> ips: 5000.0,
...> std_dev_ratio: 0.1,
...> median: 190.0,
...> percentiles: %{99 => 300.1},
...> sample_size: 200
...> },
...> memory_usage_statistics: %Benchee.Statistics{}
...> },
...> %Benchee.Benchmark.Scenario{
...> name: "Job 2", input_name: "My input", run_time_statistics: %Benchee.Statistics{
...> average: 400.0,
...> ips: 2500.0,
...> std_dev_ratio: 0.2,
...> median: 390.0,
...> percentiles: %{99 => 500.1},
...> sample_size: 200
...> },
...> memory_usage_statistics: %Benchee.Statistics{}
...> }
...> ]
iex> suite = %Benchee.Suite{
...> scenarios: scenarios,
...> configuration: %Benchee.Configuration{
...> unit_scaling: :best,
...> }
...> }
iex> Benchee.Formatters.Console.format(suite, %{comparison: false, extended_statistics: false})
[["
##### With input My input #####", "
Name ips average deviation median 99th %
",
"My Job 5 K 200 ns ±10.00% 190 ns 300.10 ns
",
"Job 2 2.50 K 400 ns ±20.00% 390 ns 500.10 ns
"]]
Link to this function
write(suite) View Source
Link to this function
write(output, options) View Source
Takes the output of format/1 and writes that to the console.