Benchmark Comparison Tables

This page keeps the benchmark numbers in comparison-friendly tables. It is a companion to Benchmark Notes, which contains the full conditions, reproduction notes, and interpretation.

These are local measurements, not universal performance claims.

PostgreSQL Reference

Environment summary: same machine as RocheDB, AMD Ryzen 5 5600H, Linux 6.8, Nim 2.2.10, PostgreSQL 14.23, local TCP, single client, 100-byte payload where applicable.

Reproduction helper: N=10000 examples/postgres_bench.sh.

Docker reproduction helper: N=10000 examples/postgres_docker_bench.sh.

Group Operation us/op Notes
RocheDB single-key read 45.9 Three roched nodes, persistence enabled
RocheDB single-row write 47.7 Three roched nodes, persistence enabled
RocheDB strong-durability write not measured durStrong / --durability=strong was not part of this comparison
PostgreSQL 14.23 primary-key SELECT 67 pgbench -M prepared, 14,986 tps
PostgreSQL 14.23 single-row write, synchronous_commit=off 79 pgbench -M prepared, 12,699 tps
PostgreSQL 14.23 single-row write, synchronous_commit=on 1998 pgbench -M prepared, 501 tps

PostgreSQL Docker Reference

Environment summary: same host as RocheDB, Docker overlay2, RocheDB image built from examples/compose/Dockerfile, PostgreSQL image postgres:14, same Docker network, single client, 100-byte payload, n=10000. Data directories are bind-mounted from the repository .tmp directory during the helper run.

Reproduction helper: N=10000 examples/postgres_docker_bench.sh.

Group Operation us/op Notes
RocheDB Docker single-key read 53.5 Three roched containers
RocheDB Docker single-row write 56.4 Three roched containers
RocheDB Docker query projection 60.0 Server-side JSON projection
PostgreSQL 14 Docker primary-key SELECT 92 pgbench -M prepared, 10,869 tps
PostgreSQL 14 Docker single-row write, synchronous_commit=off 130 pgbench -M prepared, 7,666 tps
PostgreSQL 14 Docker single-row write, synchronous_commit=on 1134 pgbench -M prepared, 882 tps

Redis Reference

Environment summary: same machine as RocheDB, AMD Ryzen 5 5600H, Linux 6.8, Nim 2.2.10, local Redis 6.0.16, one local roched, persistence disabled, local TCP, single client, 100-byte payload, n=1000, Redis pipeline batch size 256.

Local reproduction helper: N=1000 examples/redis_local_bench.sh.

Docker reproduction helper: N=1000 examples/redis_docker_bench.sh.

Group Operation us/op Notes
RocheDB embedded get 0.03 In-process hot path; no TCP
RocheDB TCP GET 44.87 One request / one response
RocheDB TCP BGET 1.47 Batch read; comparable axis to Redis pipeline
Redis 6.0.16 TCP GET 41.23 Non-pipelined local Redis
Redis 6.0.16 pipeline GET 3.68 Batch size 256

Working-Set And Token Reduction

Benchmark Setup Result
Working-set 100 rings / 10k docs scanned/query 10000 -> 100
Memory-pressure 100 rings / 100k docs / 512-byte payload candidate memory/query 93.079 MiB -> 0.931 MiB
Synthetic RAG fixed recall recall 1.000, scanned/query 8000 -> 1000, tokens/query 3960 -> 657.8
AI/RAG case study generated JSONL, 400 docs / 6 rings recall 1.000, scanned/query 400 -> 40, tokens/query 615.2 -> 231.6