File size: 628 Bytes
62dca4c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | class BenchmarkRegistry:
def __init__(self):
self.benchmarks = {}
def register(self, name: str):
"""
Usage:
```python
BENCHMARKS = BenchmarkRegistry()
BENCHMARKS.register("aime")
class AIMEBenchmarker(Benchmarker):
...
```
"""
def wrapper(cls):
self.benchmarks[name] = cls
return cls
return wrapper
def get(self, name: str) -> type:
"""
Get the benchmark class by name.
"""
return self.benchmarks[name]
BENCHMARKS = BenchmarkRegistry()
|