Skip to content

Benchmark Registry

Benchmark registry for managing benchmark registration and lookup.

BenchmarkRegistry

Registry for managing benchmark classes.

get_benchmark_class classmethod

get_benchmark_class(identifier: str) -> Type[Benchmark]

Get a registered benchmark class by identifier (added class method for convenience).

get_benchmark_instance classmethod

get_benchmark_instance(
    identifier: str, context: RunContext
) -> Benchmark

Instantiate a benchmark by identifier (added class method for convenience).

list_benchmarks classmethod

list_benchmarks(origin: Optional[str] = None) -> List[str]

List registered benchmarks, optionally filtered by origin (added class method for convenience).

register_benchmark classmethod

register_benchmark(
    benchmark_cls: Type[Benchmark],
) -> Type[Benchmark]

Decorator to register a Benchmark subclass with the BenchmarkRegistry.

Example usage

@BenchmarkRegistry.register_benchmark class MyBenchmark(Benchmark): origin = "user" source = "my_lib" name = "my_benchmark"