BenchmarkConfig class

Configuration for benchmark runs.

A benchmark run consists of:

  1. Warmup phase: Runs each variant warmupIterations times to allow JIT compilation and cache warming. Results are discarded.
  2. Sampling phase: Collects samples measurements, where each sample times iterations executions of the code under test.

Example:

// Custom configuration for a slow operation
final config = BenchmarkConfig(
  iterations: 100,      // Fewer iterations for slow code
  samples: 20,          // More samples for statistical confidence
  warmupIterations: 50,
);

Constructors

BenchmarkConfig({int iterations = 1000, int samples = 10, int warmupIterations = 500, bool randomizeOrder = true})
Creates a benchmark configuration.
const

Properties

hashCode → int
The hash code for this object.
no setterinherited
iterations → int
Number of iterations per sample.
final
randomizeOrder → bool
Whether to randomize the order of variants between samples.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
samples → int
Number of samples to collect.
final
warmupIterations → int
Number of warmup iterations before sampling begins.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Constants

quick → const BenchmarkConfig
Quick benchmark configuration for fast feedback.
standard → const BenchmarkConfig
Standard benchmark configuration (default).
thorough → const BenchmarkConfig
Thorough benchmark configuration for important decisions.