Expand description
The kind-agnostic half of backend benchmarking stage 3 (speed): the environment a figure was taken
in, timing statistics, the data file, and the comparison that never crosses machines. The kinds
(persistant_kv::speed, persistant_blob::speed) own their workloads and how they are timed; they
produce SpeedRows and nothing here knows what a key-value store or a blob store is.
- Speed ranks only what passes the contract. A row is either
Outcome::MeasuredorOutcome::Excludedwith the leaf and reason; an excluded backend is listed, never ranked. - No constant rankings. Every row carries its
Environmentand the command that re-runs it;compareorders backends only within one environment. - Results are data files.
SpeedTablereads and writes a tab-separated file.
Structs§
- Comparison
- One workload in one environment: the eligible backends fastest first by median, then the excluded ones. The environment is part of the answer.
- Environment
- Where and when a figure was measured. Keep every field honest: a row without its environment is a claim about the present.
- Left
- A backend that has no number for a workload, and why.
- Ranked
- A backend that has a number for a workload.
- Speed
Parse Error - Why a speed file did not parse.
- Speed
Row - One recorded fact: a workload on a backend in an environment.
- Speed
Table - A set of rows, read from and written to one tab-separated file.
- Stats
- Timing of one workload: nearest-rank percentiles of per-operation wall-clock time, in nanoseconds. The clock’s own resolution is coarser on some platforms; a figure near it means little.
Enums§
- Outcome
- A figure, or the reason there is none.
Functions§
- compare
- Group rows by workload and environment and order the measured ones. Rows from different machines
never share a
Comparison.