public function benchmark($name, $revs)
    {
        if (!isset($this->callables[$name])) {
            throw new \InvalidArgumentException(sprintf(
                'Unknown baseline callable "%s", known baseline callables: "%s"',
                $name, implode('", "', array_keys($this->callables))
            ));
        }

        $start = microtime(true);
        call_user_func($this->callables[$name], $revs);

        return (microtime(true) - $start) / $revs * 1E6;
    }