dynamicBench function

Future<void> dynamicBench(
  1. ReactiveFramework framework, {
  2. int testRepeats = 1,
})

Implementation

Future<void> dynamicBench(ReactiveFramework framework,
    {int testRepeats = 1}) async {
  for (final config in perfTests) {
    final TestConfig(:iterations, :readFraction) = config;
    final counter = Counter();
    int runOnce() {
      try {
        final graph = makeGraph(framework, config, counter);
        return runGraph(graph, iterations, readFraction, framework);
      } catch (e) {
        return -1;
      }
    }

    // warm up
    runOnce();

    final timingResult = await fastestTest(testRepeats, () {
      counter.count = 0;
      final sum = runOnce();
      return TestResult(sum: sum, count: counter.count);
    });

    logPerfResult(perfRowStrings(framework.name, config, timingResult));
  }
}