measure method
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);
}
}