code: function RunNextSetup() {
      if (index < length) {
        try {
          suite.benchmarks[index].Setup();
        } catch (e) {
          suite.NotifyError(e);
          return null;
        }
        return RunNextBenchmark;
      }
      suite.NotifyResult();
      return null;
    }
docs: Run the setup, the actual benchmark, and the tear down in three separate steps to allow the framework to yield between any of the steps.