Benchee v0.13.0 API Reference
Modules
Top level module providing convenience access to needed functions as well
as the very high level Benchee.run
API
Functions related to building and running benchmarking scenarios.
Exposes benchmark/4
and measure/3
functions
A thing that measures something about a function execution - like time or memory needed
Measure memory consumption of a function
Measure the time consumed by a executing function
This module actually runs our benchmark scenarios, adding information about run time and memory usage to each scenario
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
)
This struct holds the context in which any scenario is run
Functions to handle the configuration of Benchee, exposes init/1
function
Integration of the conversion of multiple units with benchee
Unit scaling for counts, such that 1000000 can be converted to 1 Million
Helps with formattiong for the standard deviation ratio converting it into the more common percent form
Unit scaling for duration converting from microseconds to minutes and others
Functions for formatting values and their unit labels. Different domains handle this task differently, for example durations and counts
Unit scaling for memory converting from bytes to kilobytes and others
Functions for scaling values to other units. Different domains handle this task differently, for example durations and counts
A representation of the different units used in Benchee.Conversion.Duration
and Benchee.Conversion.Count
. A unit is characterized by
Defines a behaviour for formatters in Benchee, and also defines functions to handle invoking that defined behavior
Formatter to transform the statistics output into a structure suitable for
output through IO.write
on the console
These are common functions shared between the formatting of the run time and memory usage statistics
This deals with just the formatting of the run time results. They are similar to the way the memory results are formatted, but different enough to where the abstractions start to break down pretty significantly, so I wanted to extract these two things into separate modules to avoid confusion
This deals with just the formatting of the run time results. They are similar to the way the memory results are formatted, but different enough to where the abstractions start to break down pretty significantly, so I wanted to extract these two things into separate modules to avoid confusion
Store the whole suite in the Erlang ExternalTermFormat
while tagging the
scenarios of the current run with a specified tag - can be used for storing
and loading the results of previous runs
Load scenarios that were saved using the saved option to be included
Statistics related functionality that is meant to take the raw benchmark run times and then compute statistics like the average and the standard devaition
Main benchee data structure that aggregates the results from every step
Provides information about the system the benchmarks are run on
Methods to create files used in plugins