Bench

Workloads shaped like real apps — RAG chunks, prefix catalogs, restarts, crash-loop — with a clear integrity gate. Throughput numbers below are for the PugDB / F4KVS engine on developer hardware.

Snapshot 2026-08-22 · embed pins v0.2.5 / v0.3.6 · server v0.2.0

We do not pitch “faster than RocksDB”. Cluster / server is a lab path. The product we stand behind is the embed train (LSM + FFI).

Meso · RAG chunk ingest

100,000 × 4096 B · flow rag_chunk_ingest_v1

Post-restart integrity OK · 100,050 keys
~61k/s
Bulk durable ingest

One-shot batch + WAL sync (native engine)

2 ms
Prefix catalog scan

Full keyset listing for RAG-style prefixes

36,000
Point reads / s

Hot random gets after ingest

What we optimize for

  • High-throughput bulk writes with WAL durability
  • Fast prefix / catalog scans for chunked corpora
  • Zero-surprise restarts — row counts verified after reopen
  • Embed path (C/Go) aligned with the native engine train

Methodology: product-shaped keys (chunk:…), fixed seed, developer NVMe workstation. Results vary by hardware. Run recorded 2026-07-24; pins have moved forward, integrity gate is unchanged.

Reliability reval · Aug 2026

After the LSM hot-path merge: crash-loop then a two-hour soak on the server harness. The server is the reliability harness — production embed is still FFI + LSM.

50/50
Crash-loop

50 × 1,000 ops, SIGKILL, 0 loss. 2026-08-17.

462/s
Soak 1h + 1h

1,661,444 cache ops, 10/10 anchors after restart, 0 health failures. 2026-08-18.

Server 20k microbench @f52790c: put 9,070 / get 29,412 / mixed 37,594 ops/s · 0 errors.

Server path (YCSB, 10k)

Partitioned server workloads on the recorded YCSB A/B/D 10k matrix — a comparable, small campaign, not the homepage story.

  • vs PostgreSQL: 3.7–4.5x (avg 4.1×)
  • vs ScyllaDB: 2–3.8× (avg 2.63×)

YCSB A/B/D, 10K records, 512B values, 4 workers, 30s per workload, partitioned storage (server path)

Larger matrix (432 cells) · median, not mean

A longer head-to-head (Aug 2026) spans many modes. The median is the honest headline; the mean is inflated by easy cells, and some QL cells lose.

  • vs PostgreSQL: median 9.49× (range 0.8–143.82×, n=144)
  • vs ScyllaDB: median 1.85× (range 0.11–2.9×, n=142)

432-cell multi-system matrix; 60s measurement. Headline the median — some QL cells lose.

Read the August embed-train update → July meso 100k note →