Benchee.Benchmark.Runner (Benchee v1.4.0)

View Source

Internal module "running" a scenario, measuring all defined measurements.

Summary

Functions

Takes one measure with the given collector.

Executes the benchmarks defined before by first running the defined functions for warmup time without gathering results and them running them for time gathering their run times.

Functions

collect(scenario, scenario_context, collector)

Takes one measure with the given collector.

Correctly dispatches based on the number of iterations to perform.

main_function(function, input)

measure_and_report_function_call_overhead(printer)

run_once(scenario, scenario_context)

run_scenarios(scenarios, scenario_context)

Executes the benchmarks defined before by first running the defined functions for warmup time without gathering results and them running them for time gathering their run times.

This means the total run time of a single benchmarking scenario is warmup + time.

Warmup is usually important for run times with JIT but it seems to have some effect on the BEAM as well.

There will be parallel processes spawned executing the benchmark job in parallel.