bencher.factories
Factory functions for creating Bench and BenchRunner instances.
This module breaks the circular dependency between ParametrizedSweep and Bench/BenchRunner by providing standalone factory functions that can be imported without triggering circular imports.
Functions
|
Create a Bench instance from a ParametrizedSweep. |
|
Create a BenchRunner instance from a ParametrizedSweep. |
Module Contents
- bencher.factories.create_bench(sweep: bencher.variables.parametrised_sweep.ParametrizedSweep, run_cfg: bencher.bench_cfg.BenchRunCfg | None = None, report: bencher.bench_report.BenchReport | None = None, name: str | None = None) bencher.bencher.Bench
Create a Bench instance from a ParametrizedSweep.
- Parameters:
sweep – The ParametrizedSweep instance to benchmark.
run_cfg – Optional benchmark run configuration.
report – Optional existing report to append results to.
name – Optional name for the benchmark. If None, derived from sweep’s class name.
- Returns:
A configured Bench instance.
- bencher.factories.create_bench_runner(sweep: bencher.variables.parametrised_sweep.ParametrizedSweep, run_cfg: bencher.bench_cfg.BenchRunCfg | None = None, name: str | None = None) bencher.bench_runner.BenchRunner
Create a BenchRunner instance from a ParametrizedSweep.
- Enables fluent chaining like:
MyConfig().to_bench_runner().add(func).run(subsampling_divisions=2, max_subsampling_divisions=4)
- Parameters:
sweep – The ParametrizedSweep instance to use as the benchmark class.
run_cfg – Optional benchmark run configuration. Created if not provided.
name – Optional name for the runner. If None, auto-generated.
- Returns:
A configured BenchRunner instance.