facett-bench — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: The detached nornir Bencher harness for facett — render-throughput benchmarks, historized in the warehouse and gated on regression by
nornir release/nornir bench run. - Does: An
[[example]](nornir-bench) implementingnornir::bench::api::Bencherfor facett workloads: builds a graph of N nodes+edges and measures nodes/s (GraphRender), plus map / map3d / table renders viafacett::harness::headless_render.result(...)packs aBenchResult(<unit>_per_secheadline + vertices + elapsed_ms + n). Ported from the#[ignore]'d perf tests (those are now fast downscaled correctness checks; the full-scale throughput measurement lives here so it lands inbench_history+ the README). Headline scaleN = 50_000. Optionalwgpufeature lights facett-core's L0 GPU SDF upload part-bench. - Key deps:
nornir(the Bencher contract),facett(umbrella),facett-core(direct edge for the GPU part-bench),egui,anyhow,serde_json. - Shape: bin-ish (an example, not a lib); its OWN
[workspace](packagefacett-bench,version 0.0.0,publish = false, edition 2024) so nornir's heavy dev-dep never touches the published facett crates' lockfile. Lives inbench/. - Observed role in the workspace: Run by
nornir bench run facett(nornir detects<repo>/bench/examples/nornir-bench.rsand runs cargo insidebench/). Feeds the regression gate + bench history.
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: