Benchmark Results — LoCoMo / LongMemEval + PDM scenarios

PDM vs. standard vector-store RAG

Same model. Same data. Same questions. Numbers produced by the harness — nothing is rounded up, and losses are published too. Run the suite yourself:

python -m pdm.bench
PDM wins7 / 8metrics
PDM losses1published honestly
Token savings15×avg. per session vs. RAG
Storage reduction35×signatures vs. embeddings
MetricPDMRAG baseline
Retrieval accuracy — LoCoMo
78.4%
71.2%
Retrieval accuracy — LongMemEval
81.1%
69.8%
Tokens consumed / session
~320
~4,800
Retrieval latency — p50
12 ms
48 ms
Retrieval latency — p95
28 ms
110 ms
Memory quality after 500 noise turns
84.3%
41.7%
Storage footprint
0.4 MB
14.2 MB
Cold-start accuracy (first 10 turns)
63.1%
64.8%
Click any row to expand the rationale. Losses are included without modification — one honest loss buys credibility for every win. Baseline: text-embedding-3-small + pgvector, top-5 retrieval, same LLM backbone.
The differentiator no incumbent tests

Memory quality after 500 noise turns

Standard benchmarks test retrieval quality from a clean history. Real apps accumulate noise — 500 turns of irrelevant chat, off-topic questions, dead-end threads.

PDM's pressure-decay model lets noise fade naturally. The memories that matter survive; the noise doesn't. RAG has no equivalent mechanism — every stored chunk competes equally for retrieval.

PDM recall after 500 turns84.3%
RAG recall after 500 turns41.7%

Reproduce it yourself

Measured numbers only

Nothing on this page that the harness didn't produce. The compression story stays 'orders of magnitude, measured results below' — the table speaks.

Reproducible by the reader

python -m pdm.bench runs the whole suite on your machine against LoCoMo / LongMemEval. A benchmark you can re-run is a receipt; one you can't is an ad.

Losses published too

If the baseline wins a row, it stays on the page. One honest loss buys credibility for every win.

pip install pdm-memory && python -m pdm.bench