diff --git a/benchmarking/src/benchmarks/BenchmarkSuite.js b/benchmarking/src/benchmarks/BenchmarkSuite.js index db1fdd0..f0487d7 100644 --- a/benchmarking/src/benchmarks/BenchmarkSuite.js +++ b/benchmarking/src/benchmarks/BenchmarkSuite.js @@ -13,11 +13,13 @@ export class BenchmarkSuite { setBenchmarkType(benchmarktype) { this.benchmarktype = benchmarktype + this.onChange() } setCases(cases) { this.cases = new CasesIterator(cases) this.stats = this.cases.getInitialStats() + this.onChange() } addStat(name, val) { diff --git a/benchmarking/src/components/runner.js b/benchmarking/src/components/runner.js index 86cc909..3a96850 100644 --- a/benchmarking/src/components/runner.js +++ b/benchmarking/src/components/runner.js @@ -37,13 +37,16 @@ export class BenchmarkRunner extends Component { if (prevState !== this.state) { this.props.onStatsChange(this.suite.stats) } + if (prevProps.formState !== this.props.formState) { + this.initializeSuite() + this.suite.stop() + } } initializeSuite() { let data = dataSelector[this.props.formState.dataset] this.suite.setBenchmarkType(benchmarkTypeSelector(this.props.formState)) this.suite.setCases(generateCases(data, this.props.formState)) - this.suite.start() } stateIsOneOf(states) { @@ -83,7 +86,14 @@ export class BenchmarkRunner extends Component { {this.startButtonShown() && ( - + )} {this.resumeButtonShown() && (