Offline baseline harness for issue #288.
For each configured dataset size, the harness seeds a synthetic SQLite memory store and reports:
- seed time
- database size on disk
search_memories()unscoped latencysearch_memories()track-scoped latencysearch_memories_batch()track latencysearch_memories_batch()paper latency
Latency summaries include avg_ms, p50_ms, p95_ms, and p99_ms.
The CLI defaults to the three baseline scales requested by the issue:
10,000100,0001,000,000
PYTHONPATH=src python scripts/benchmark_memory_performance.py \
--sizes 10000,100000,1000000 \
--query-count 25 \
--output output/reports/memory_performance_baseline.jsonFor a faster smoke run during development:
PYTHONPATH=src python scripts/benchmark_memory_performance.py \
--sizes 1000,5000 \
--query-count 5- The benchmark uses deterministic synthetic data and disables embedding generation so the baseline is stable and offline.
- It is intended as a reporting baseline, not a strict CI latency gate, because runtime varies across machines.