src/Benchmark.php
public function run($taskName, $callback)
    {
        $args = func_get_args();
        array_shift($args);
        array_shift($args);

        $task = $this->start($taskName, $this->repeat());
        for ($i = 0; $i < $task->repeat(); $i++) {
            if (($success = call_user_func_array($callback, $args)) === false)   {
                $task->failed(true);
                break;
            }
        }
        $this->end($taskName);
        return $task;
    }
public function run($taskName, $callback)
    {
        $args = func_get_args();
        array_shift($args);
        array_shift($args);

        $task = $this->start($taskName, $this->repeat());
        for ($i = 0; $i < $task->repeat(); $i++) {
            if (($success = call_user_func_array($callback, $args)) === false)   {
                $task->failed(true);
                break;
            }
        }
        $this->end($taskName);
        return $task;
    }
Wraps a callable with start() and end() calls

Additional arguments passed to this method will be passed to
the callable.

@param  callable $callable
@param  mixed    ...
@return mixed