measure method

  1. @nonVirtual
Future<BenchmarkResult> measure([
  1. BenchmarkSettings? settings
])

Implementation

@nonVirtual
Future<BenchmarkResult> measure([BenchmarkSettings? settings]) async {
  settings ??= BenchmarkSettings();
  try {
    await setup();
    // Warmup for at least 100ms. Discard result.
    await _measureUntil(settings, run, settings.warmupTime.inMicroseconds);
    // Run the benchmark for at least 2000ms.
    final result = await _measureUntil(
        settings, run, settings.minimumRunTime.inMicroseconds);
    await teardown();
    return result;
  } catch (e) {
    return Future.error(e);
  }
}