AB.BenchmarkRunner (AB v0.2.1)

View Source

Executes performance benchmarks between two implementations using Benchee.

This module handles benchmarking of two functions with identical typespecs, comparing their performance characteristics using generated test data.

Summary

Functions

Executes the actual benchmark using Benchee.

Runs a benchmark test between two functions with the given specs.

Functions

run_benchee(module1, function1, module2, function2, input_types, opts)

@spec run_benchee(module(), atom(), module(), atom(), [any()], keyword()) ::
  Benchee.Suite.t()

Executes the actual benchmark using Benchee.

Generates test inputs and measures performance of both functions.

run_benchmark_test(module1, function1, module2, function2, arg1, arg2, opts)

@spec run_benchmark_test(
  module(),
  atom(),
  module(),
  atom(),
  {[any()], any()},
  {[any()], any()},
  keyword()
) :: Benchee.Suite.t()

Runs a benchmark test between two functions with the given specs.

Validates that specs match and then runs performance benchmarks.