Alternative way of representing the status of a benchmark.
fromReport : Benchmark.Reporting.Report -> Status
Convert a Benchmark.Reporting.Report
to a Benchmark.Status.Alternative.Status
.
State of a benchmark: Finished
or still Running
.
Running
Status 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.Finished
Result Benchmark.Status.Error (Trend.Linear.Trend Trend.Linear.Quick)
Information 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.runsPerSecond : Trend.Linear.Trend a_ -> Basics.Float
Predict the amount of runs / 1 second.
results : Structure { result : Result } -> List Result
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
)
{ name : String
, structureKind : StructureKind status
}
The name and structure of a specific Benchmark
.
Structure {}
Structure { result : Result }
, see Result
The structure type of a specific Benchmark
.
Single
: Benchmark.benchmark
Series
: Benchmark.compare
, Benchmark.scale
, Benchmark.Alternative.rank
Group
: Benchmark.describe
–
StructureKind {}
StructureKind { result : Result }
, see Result