public void Start(List <BenchmarkInstance> benchmarks) { if (benchmarks.Count == 0) { throw new ArgumentException("There are no benchmarks to execute"); } if (_running) { Stop(); } _running = true; _results.Clear(); NotifyUpdated(ExecutionState.Running); // Create requested test strategy if (_configuration.ExecutionType == ExecutionType.Sequential) { _strategy = new SequencialExecutionStrategy(_configuration, _results, this, benchmarks); } else { _strategy = new ProportionalExecutionStrategy(_configuration, _results, this, benchmarks); } _strategy.Start(); }