in Sources/CollectionsBenchmark/Basics/TaskResults.swift [166:180]
func curve(
for statistic: Sample.Statistic,
percentile: Double,
amortizedTime: Bool
) -> Curve<Measurement> {
var curve = Curve<Measurement>()
for (size, sample) in _samples {
let sample = sample.discardingPercentile(above: percentile)
guard let time = sample[statistic] ?? sample[.mean] else { continue }
let t = amortizedTime ? time.amortized(over: size) : time
curve.points.append(Measurement(size: size, time: t))
}
return curve
}