glychee/benchmark

Contains custom types Function and Data and a runner function to run a list of these benchmark functions against a list of benchmark data.

Types

Data pairs arbitrary data to benchmark on with a label.

The label is used as part of the benchmark’s stdout output.

pub type Data(data) {
  Data(label: String, data: data)
}

Constructors

  • Data(label: String, data: data)

Function pairs a label with a function returning a callable.

The function requires some test_data.

The label is used as part of the benchmark’s stdout output.

pub type Function(test_data, any) {
  Function(label: String, callable: fn(test_data) -> fn() -> any)
}

Constructors

  • Function(label: String, callable: fn(test_data) -> fn() -> any)

Functions

pub fn run(
  function_list: List(Function(a, b)),
  data_list: List(Data(a)),
) -> Nil

Takes a List of Function and List of Data and runs benchmarks for each Function combined with each Data grouped by Data first and Function second.

Utilizes Benchee and its stdout’s output to print the function’s benchmark results for all data.

Search Document