runBenchmark method
- required String name,
- required NiceBenchmarkWidgetBuilder builder,
- Map<
String, dynamic> metadata = const {},
Run a benchmark for a widget builder.
Implementation
Future<NiceBenchmarkSummary> runBenchmark({
required String name,
required NiceBenchmarkWidgetBuilder builder,
Map<String, dynamic> metadata = const {},
}) async {
final results = <NiceBenchmarkResult>[];
// Warmup runs (not recorded)
for (var i = 0; i < warmupRuns; i++) {
await _measureOnce(name, builder, i, metadata);
}
// Measured runs
for (var i = 0; i < measureRuns; i++) {
final result = await _measureOnce(name, builder, i, metadata);
results.add(result);
onProgress?.call(i + 1, measureRuns);
}
final summary = NiceBenchmarkSummary(name: name, results: results);
_results[name] = summary;
return summary;
}