summarizeSamples static method
Summarize measured samples with p50/p95/stddev.
Implementation
static DetailedBenchmarkStats summarizeSamples(
List<double> samplesMs, {
required int warmupIterations,
}) {
final copied = List<double>.from(samplesMs)..sort();
final measured = samplesMs.length;
final avg = measured == 0
? 0.0
: samplesMs.reduce((a, b) => a + b) / measured;
final min = copied.isEmpty ? 0.0 : copied.first;
final max = copied.isEmpty ? 0.0 : copied.last;
final p50 = copied.isEmpty ? 0.0 : _percentileFromSorted(copied, 0.50);
final p95 = copied.isEmpty ? 0.0 : _percentileFromSorted(copied, 0.95);
final stdDev = _stdDev(samplesMs, avg);
return DetailedBenchmarkStats(
warmupIterations: warmupIterations,
measuredIterations: measured,
samplesMs: samplesMs,
avgMs: avg,
minMs: min,
maxMs: max,
p50Ms: p50,
p95Ms: p95,
stdDevMs: stdDev,
);
}