Skip to content

bench Design

Responsibility

Build immutable Maremark plans and reduce versioned observations without coupling numeric packages to benchmark code.

Data Flow

Datatype fixtures produce inputs, Maremark validates reference equivalence, balanced timed blocks emit observations, and pure reducers calculate paired hotspots or tuning winners.

Invariants

Setup stays outside timed payloads; comparisons use matching dataset and block identifiers; auto-tune candidates must be semantically equivalent.

Effects

The shared package is pure except for its explicit async runner boundary. JSONL printing and filesystem writes remain in tests and tools/benchmark.py.