refactor benchmarks to use Benchmark base class, similar to unittest.TestCase