Benchee.Benchmark (Benchee v1.4.0)

View Source

Functions related to building and running benchmarking scenarios. Exposes benchmark/4 and collect/3 functions.

Summary

Functions

Takes the current suite and adds a new benchmarking scenario (represented by a %Scenario{} struct) with the given name and function to the suite's scenarios. If there are inputs in the suite's config, a scenario will be added for the given function for each input.

Kicks off the benchmarking of all scenarios defined in the given suite.

Public access for the special key representing no input for a scenario.

Functions

benchmark(suite, job_name, to_be_benchmark, printer \\ Printer)

Takes the current suite and adds a new benchmarking scenario (represented by a %Scenario{} struct) with the given name and function to the suite's scenarios. If there are inputs in the suite's config, a scenario will be added for the given function for each input.

collect(suite, printer \\ Printer, runner \\ Runner)

@spec collect(Benchee.Suite.t(), module(), module()) :: Benchee.Suite.t()

Kicks off the benchmarking of all scenarios defined in the given suite.

Hence, this might take a while ;) Passes a list of scenarios and a scenario context to our benchmark runner. For more information on how benchmarks are actually run, see the Benchee.Benchmark.Runner code (API considered private).

no_input()

Public access for the special key representing no input for a scenario.