Benchee v0.12.1 Benchee.Benchmark.Scenario View Source
A Scenario in Benchee is a particular case of a whole benchmarking suite. That
is the combination of a particular function to benchmark (job_name and
function) in combination with a specific input (input_name and input).
It then gathers all data measured for this particular combination during
Benchee.Benchmark.measure/3 (run_times and memory_usages),
which are then used later in the process by Benchee.Statistics to compute
the relevant statistics (run_time_statistics and memory_usage_statistics).
name is the name that should be used by formatters to display scenarios as
it potentially includes the tag present when loading scenarios that were
saved before. See display_name/1.
Link to this section Summary
Functions
Returns the correct name to display of the given scenario data
Link to this section Types
t() :: %Benchee.Benchmark.Scenario{after_each: (... -> any()) | nil, after_scenario: (... -> any()) | nil, before_each: (... -> any()) | nil, before_scenario: (... -> any()) | nil, function: (... -> any()), input: any() | nil, input_name: String.t() | nil, job_name: String.t(), memory_usage_statistics: Benchee.Statistics.t() | nil, memory_usages: [non_neg_integer()], name: String.t(), run_time_statistics: Benchee.Statistics.t() | nil, run_times: [float()], tag: String.t() | nil}
Link to this section Functions
Returns the correct name to display of the given scenario data.
In the normal case this is job_name, however when scenarios are loaded they
are tagged and these tags should be shown for disambiguation.
Examples
iex> alias Benchee.Benchmark.Scenario
iex> Scenario.display_name(%Scenario{job_name: "flat_map"})
"flat_map"
iex> Scenario.display_name(%Scenario{job_name: "flat_map", tag: "master"})
"flat_map (master)"
iex> Scenario.display_name(%{job_name: "flat_map"})
"flat_map"