← all runs
Cohere-10M — 2026-07-12
r8i.4xlarge · peak recall 0.9999 @ 19 QPS
“Exact centroid build branch”
QPS at recall
| Recall | Meerkat | pgvector HNSW (halfvec) | Δ vs best competitor |
|---|
| 0.90 | 1,101 | 455 | +142% |
| 0.95 | 483 | 268 | +80% |
| 0.99 | 166 | 47 | +253% |
Latency at recall
| Meerkat | pgvector HNSW (halfvec) | Δ vs best competitor |
|---|
| @ recall 0.90 | | | |
| p50 | 0.89 ms | 2.16 ms | -59% |
| p95 | 1.07 ms | 3.11 ms | -65% |
| p99 | 1.22 ms | 3.75 ms | -68% |
| @ recall 0.95 | | | |
| p50 | 2.04 ms | 3.77 ms | -46% |
| p95 | 2.46 ms | 5.01 ms | -51% |
| p99 | 2.78 ms | 5.86 ms | -53% |
| @ recall 0.99 | | | |
| p50 | 5.84 ms | 21.39 ms | -73% |
| p95 | 7.66 ms | 27.57 ms | -72% |
| p99 | 8.61 ms | 29.85 ms | -71% |
All values are taken at exactly the stated recall: each configuration's own sweep is log-interpolated between its two surrounding measured points (measured values are used verbatim on an exact hit) and the best configuration at that recall is shown — values are never interpolated across different configurations. “—” means no single sweep spans that recall; nothing is extrapolated. Recall is distance-based (ann-benchmarks, tie-aware). Insert/update/delete workloads are not measured.
Interpolated on config — Meerkat @0.90: mkt-n40000-cctrue-fs16-soar-cfs-eps035 · pgvector HNSW (halfvec) @0.90: hnsw-m24-halfvec · Meerkat @0.95: mkt-n40000-cctrue-fs16-soar-cfs-eps035 · pgvector HNSW (halfvec) @0.95: hnsw-m24-halfvec · Meerkat @0.99: mkt-n24000-cctrue-fs16-soar-cfs-eps035 · pgvector HNSW (halfvec) @0.99: hnsw-m24-halfvec
Build comparison
| Meerkat | pgvector HNSW (halfvec) | Δ vs best competitor |
|---|
| Build time | 638 s | 5045 s | -87% |
| Index size | 2.5 GB | 19.1 GB | -87% |
Build stats are for the configuration backing each column's best operating point: Meerkat = mkt-n24000-cctrue-fs16-soar-cfs-eps035, prewarmed · pgvector HNSW (halfvec) = hnsw-m24-halfvec, prewarmed.
Plots
Pareto svg ·
Distance-recall svg ·
Per-config svg ·
Build times svg ·
Index sizes svgHost
| Instance type | r8i.4xlarge |
| Hostname | ip-172-31-74-126 |
| CPU | Intel(R) Xeon(R) 6975P-C (16 vCPU) |
| Memory | 124 GB |
| OS | Ubuntu 26.04 LTS |
| Kernel | 7.0.0-1008-aws |
Versions
| rekall | 0.1.0 (8b64f86 / main) |
| PostgreSQL | PostgreSQL 18.4 (Ubuntu 18.4-1.pgdg26.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit |
| meerkat | 0.1.0 (508fcba) |
| pg_prewarm | 1.2 |
| vector | 0.8.5 |
Search
Index builds
| Index | Type | Build time | Size | Workers |
|---|
| hnsw-m24-halfvec | pgvector-hnsw | 5045.4s | 19.1 GB | 8 |
| mkt-n24000-cctrue-fs16-soar-cfs-eps025 | meerkat | 645.6s | 2.5 GB | 8 |
| mkt-n24000-cctrue-fs16-soar-cfs-eps035 | meerkat | 637.6s | 2.5 GB | 8 |
| mkt-n40000-cctrue-fs16-soar-cfs-eps015 | meerkat | 1127.9s | 2.4 GB | 8 |
| mkt-n40000-cctrue-fs16-soar-cfs-eps025 | meerkat | 1157.1s | 2.6 GB | 8 |
| mkt-n40000-cctrue-fs16-soar-cfs-eps035 | meerkat | 1135.1s | 2.6 GB | 8 |
Index parameters
hnsw-m24-halfvec: {"ef_construction":200,"encoding":"halfvec","m":24}
mkt-n24000-cctrue-fs16-soar-cfs-eps025: {"boundary_epsilon":0.25,"centroid_compression":true,"centroid_fastscan":true,"fan_out":null,"fastscan":true,"fastscan_bits":null,"nlist":24000,"rerank_vectors":null,"soar_lambda":1.0}
mkt-n24000-cctrue-fs16-soar-cfs-eps035: {"boundary_epsilon":0.35,"centroid_compression":true,"centroid_fastscan":true,"fan_out":null,"fastscan":true,"fastscan_bits":null,"nlist":24000,"rerank_vectors":null,"soar_lambda":1.0}
mkt-n40000-cctrue-fs16-soar-cfs-eps015: {"boundary_epsilon":0.15,"centroid_compression":true,"centroid_fastscan":true,"fan_out":null,"fastscan":true,"fastscan_bits":null,"nlist":40000,"rerank_vectors":null,"soar_lambda":1.0}
mkt-n40000-cctrue-fs16-soar-cfs-eps025: {"boundary_epsilon":0.25,"centroid_compression":true,"centroid_fastscan":true,"fan_out":null,"fastscan":true,"fastscan_bits":null,"nlist":40000,"rerank_vectors":null,"soar_lambda":1.0}
mkt-n40000-cctrue-fs16-soar-cfs-eps035: {"boundary_epsilon":0.35,"centroid_compression":true,"centroid_fastscan":true,"fan_out":null,"fastscan":true,"fastscan_bits":null,"nlist":40000,"rerank_vectors":null,"soar_lambda":1.0}
PostgreSQL settings
effective_cache_size = 96 GB
effective_io_concurrency = 256
huge_pages = try
maintenance_work_mem = 51 GB
max_connections = 100
max_parallel_maintenance_workers = 8
max_parallel_workers = 16
random_page_cost = 1.1
shared_buffers = 32 GB
wal_level = replica
work_mem = 1 GB