elm-explorations / benchmark / Benchmark.Status

Report the status of a Benchmark.

Reporting


type Status
    = Cold
    | Unsized
    | Pending Basics.Int Benchmark.Samples.Samples
    | Failure Error
    | Success Benchmark.Samples.Samples (Trend.Linear.Trend Trend.Linear.Quick)

Indicate the status of a benchmark.

See "The Life of a Benchmark" in the docs for Benchmark for an explanation of how these fit together.

progress : Status -> Basics.Float

How far along is this benchmark? This is a percentage, represented as a Float between 0 and 1.


type Error
    = MeasurementError Benchmark.LowLevel.Error
    | AnalysisError Trend.Math.Error

Ways a benchmark can fail, expressed as either at runtime (in which case we have a LowLevel.Error) or while analyzing data (in which case we have a Trend.Math.Error.)

Runtime Configuration

numBuckets : Basics.Int

How many buckets are samples spread out into?

samplesPerBucket : Basics.Int

How many samples will we take per bucket?

bucketSpacingRatio : Basics.Int

How far apart should the sample size for each bucket be?