code: function run(options) {
        var bench = this,
            event = Event('start');
  
        // Set `running` to `false` so `reset()` won't call `abort()`.
        bench.running = false;
        bench.reset();
        bench.running = true;
  
        bench.count = bench.initCount;
        bench.times.timeStamp = _.now();
        bench.emit(event);
  
        if (!event.cancelled) {
          options = { 'async': ((options = options && options.async) == null ? bench.async : options) && support.timeout };
  
          // For clones created within `compute()`.
          if (bench._original) {
            if (bench.defer) {
              Deferred(bench);
            } else {
              cycle(bench, options);
            }
          }
          // For original benchmarks.
          else {
            compute(bench, options);
          }
        }
        return bench;
      }
docs: /*------------------------------------------------------------------------ 
  Runs the benchmark.
  
  @memberOf Benchmark
  @param {Object} [options={}] Options object.
  @returns {Object} The benchmark instance.
  @example
  
  // basic usage
  bench.run();
  
  // or with options
  bench.run({ 'async': true });