This directory is the single source of truth for Uteke benchmarks: what we measure, how, and what the numbers are.
| Directory | Kind | What it measures | Status |
|---|---|---|---|
internal/ |
Performance | Insert throughput, recall latency, storage footprint (uteke bench) |
β Maintained β re-verified on v0.17.0 (2026-09-09) |
longmemeval/ |
External #1 | Retrieval quality on LongMemEval-S (500 questions, session-level) | β Validated on v0.16.0 (pure-default run); -M variant not measured (transparent) |
locomo/ |
External #2 | Retrieval quality on LoCoMo (very long multi-session conversations) | π§ Planned β adapter + pilot |
Friendly overview page: docs/benchmarks.md.
benchmarks/
βββ README.md β you are here: index & policies
βββ internal/ β `uteke bench` (perf) β methodology + results
βββ longmemeval/ β LongMemEval-S harness
β βββ README.md β dataset, metric definitions, methodology
β βββ RESULTS.md β all published numbers + provenance
β βββ results/ β canonical raw artifacts (committed β audit them!)
β βββ scripts/ β harness, metrics, Modal fan-out infra
β βββ data/ β dataset (gitignored; scripts/download_data.sh)
βββ locomo/ β LoCoMo (planned)
# Internal performance
uteke bench --counts 100,1000,10000 --json
# LongMemEval-S (local small run)
cd benchmarks/longmemeval
./scripts/download_data.sh
python3 scripts/run_eval.py --data data/longmemeval_s_cleaned.json --output results_local --limit 50
python3 scripts/print_metrics.py results_local/retrieval_results.jsonlFull 500-question runs are executed on Modal (deterministic, fan-out over 10 shards,
resume-safe volume) β see longmemeval/scripts/modal_fanout.py.
- Canonical raw artifacts are committed under
longmemeval/results/so every published headline number can be recomputed straight from the repo. - Datasets (
data/) and exploratory run outputs (results_*/) are not committed β they are reproducible via download scripts and the Modal volume. - Claim discipline: every number in RESULTS.md files must trace to a committed artifact or a documented Modal volume path. Retrieval runs are deterministic (no LLM in the retrieval path), so independent recomputation must match to the last question.