Alternative way of representing the status of a benchmark.
Report the Status of a benchmark. Short for
benchmark
|> Report.fromBenchmark
|> Benchmark.Status.Alternative.fromReportInstead of
type Status
= Cold
| Unsized
| Pending Int Samples
| Failure Error
| Success Samples (Trend Quick)the status is
State of a benchmark: Finished or still Running.
RunningStatus of a running benchmark.
WarmingJit: We have not warmed up the JIT yet.FindingSampleSize: We have not yet determined the best sample size for this benchmark.CollectingSamples: We are in the process of collecting sample data. We will keep collecting sample data until we have enough samples. The argument (between 0 and 1) shows the progress.FinishedInformation about a finished benchmark.
Ok: We finished collecting all our sample data and calculated a trend using this data.Err: We ran into an exception while collecting sample data. The attached Error tells us what went wrong.Predict the amount of runs / 1 second.
Collect all results.
lowestGoodnessOfFit =
results
>> List.filterMap Result.toMaybe
>> List.map Trend.goodnessOfFit
>> List.minimum
>> Maybe.withDefault 1
errors =
results
>> List.filterMap
(\result ->
case result of
Err err ->
Just err
Ok _ ->
Nothing
)The name and structure of a specific Benchmark.
Structure {}Structure { result : Result }, see ResultThe structure type of a specific Benchmark.
Single: Benchmark.benchmarkSeries: Benchmark.compare, Benchmark.scale, Benchmark.Alternative.rankGroup: Benchmark.describe–
StructureKind {}StructureKind { result : Result }, see Result
Convert a
Benchmark.Reporting.Reportto aBenchmark.Status.Alternative.Status.