skade-katalog-bench — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: The detached benchmark harness for skade-katalog/skade — drives the embedded RedbCatalog against competitor backends (Nessie, Polaris, RustFS/S3, Iceberg-REST) and emits nornir Bencher JSON.
- Does: A bin (
catalog-bench embedded|nessie|polaris) plus a thin lib so examples/tests reuse the scenario code. Modules:data(OSM/TPC-H synthetic workloads),pipeline(encode/write pipelines incl. zstd-sys codec),scenarios,factory(catalog wiring),containers/bin bench-containers(bring competitor backends up/down in Rust, replacing containers/*.sh),s3_storage(feature-gated S3 FileIO),rest_shim,skade_throughput(theskade.*benchers migrated off criterion). Examples emitnornir bench run nornir-catalogBenchRun JSON. - Key deps:
skade-katalog+skade(withsql) — the crates under test;iceberg/iceberg-catalog-restarrow-58 forks; arrow/parquet 58;datafusion54 +iceberg-datafusion-arrow58;aegir(own S3 client, features3);tpchgen/tpchgen-arrow(arrow-57, IPC-bridged);osmpbf;zstd-sys-rs/zstd;znippy-zoomies(gatling::io async pool);nornir(Bencher contract, dev-dep);ureq/axum. - Shape: bin + lib (bins: catalog-bench, bench-containers; several examples: cache_ab, s3_smoke, aegir_transport, nornir-bench). Own workspace (members = aegir),
publish = false. Big modules: pipeline.rs (~28K), containers.rs (~19K), data.rs (~22K), s3_storage.rs (~15K). - Observed role in the workspace: Not published — the performance/conformance test bed for the skade stack; feeds the nornir bench pipeline (
nornir-catalogbencher) whose results fold into the README. Parents theaegircrate as a workspace member.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: