View Source Benchee (Benchee v1.3.0)
Top level module providing convenience access to needed functions as well
as the very high level Benchee.run
API.
Intended Elixir interface.
Summary
Functions
A convenience function designed for loading saved benchmarks and running formatters on them.
Run benchmark jobs defined by a map and optionally provide configuration options.
Functions
@spec report(keyword()) :: Benchee.Suite.t()
A convenience function designed for loading saved benchmarks and running formatters on them.
Basically takes the input of the map of jobs away from you and skips unnecessary steps with that data missing (aka not running benchmarks, only running relative statistics).
You can use config options as normal, but some options related to benchmarking won't take
effect (such as :time
). The :load
option however is mandatory to use, as you need to
load some benchmarks to report on them.
Usage
Benchee.report(load: ["benchmark-*.benchee"])
@spec run( map(), keyword() ) :: Benchee.Suite.t()
Run benchmark jobs defined by a map and optionally provide configuration options.
Benchmarks are defined as a map where the keys are a name for the given
function and the values are the functions to benchmark. Users can configure
the run by passing a keyword list as the second argument. For more
information on configuration see Benchee.Configuration.init/1
.
Examples
Benchee.run(
%{
"My Benchmark" => fn -> 1 + 1 end,
"My other benchmrk" => fn -> [1] ++ [1] end
},
warmup: 2,
time: 3
)