kermit-bench 0.1.1

Benchmark definitions, discovery, and caching for Kermit
Documentation

kermit-bench

Benchmark definitions, discovery, and caching for the Kermit workspace. Reads YAML benchmark definitions under benchmarks/, validates them, and lazily downloads their relation files to a platform cache (~/.cache/kermit/benchmarks/ on Linux).

Modules

  • definition — Serde types for the YAML schema (BenchmarkDefinition, RelationSource, QueryDefinition) and [BenchmarkDefinition::validate].
  • discovery — loads definitions from a workspace root: load_benchmark, load_all_benchmarks, list_benchmarks.
  • cacheensure_cached, is_cached, clean_benchmark, clean_all, plus path helpers.
  • error — the BenchError enum used throughout.

YAML schema

See the workspace benchmarks/README.md for the full schema and examples. In brief:

name: triangle
description: Triangle query over a single edge relation
relations:
  - name: edge
    url: https://example.com/edge.parquet
queries:
  - name: triangle
    description: All triangles in the graph
    query: T(X, Y, Z) :- edge(X, Y), edge(Y, Z), edge(X, Z).

Relationship to other crates

Standalone — kermit-bench has no workspace dependencies. The CLI binary in kermit consumes it to drive bench run, bench list, bench fetch, and bench clean.