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

High-Level interface for more convenient usage from Erlang. Same as Benchee