collectSamples static method

Future<List<double>> collectSamples(
  1. Future<void> fn(), {
  2. int warmupIterations = 5,
  3. int measuredIterations = 30,
})

Collect measured samples after warmup.

Implementation

static Future<List<double>> collectSamples(
  Future<void> Function() fn, {
  int warmupIterations = 5,
  int measuredIterations = 30,
}) async {
  for (var i = 0; i < warmupIterations; i++) {
    await fn();
  }

  final samples = <double>[];
  for (var i = 0; i < measuredIterations; i++) {
    final ms = await measureMs(fn);
    samples.add(ms);
  }
  return samples;
}