← all runs
Cohere-100M — 2026-07-16
r8g.24xlarge · peak recall 0.9965 @ 28 QPS
“100M Cohere on Graviton”
QPS at recall
| Recall | Meerkat | pgvector HNSW (halfvec) | Δ vs best competitor |
|---|
| 0.90 | 558 | 356 | +57% |
| 0.95 | 259 | 176 | +47% |
| 0.99 | 61 | — (max r=0.986) | — |
Latency at recall
| Meerkat | pgvector HNSW (halfvec) | Δ vs best competitor |
|---|
| @ recall 0.90 | | | |
| p50 | 1.76 ms | 2.84 ms | -38% |
| p95 | 2.24 ms | 3.83 ms | -42% |
| p99 | 2.73 ms | 4.62 ms | -41% |
| @ recall 0.95 | | | |
| p50 | 3.78 ms | 5.89 ms | -36% |
| p95 | 4.77 ms | 7.28 ms | -34% |
| p99 | 5.96 ms | 8.03 ms | -26% |
| @ recall 0.99 | | | |
| p50 | 16.17 ms | — | — |
| p95 | 19.94 ms | — | — |
| p99 | 26.02 ms | — | — |
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-defaults · pgvector HNSW (halfvec) @0.90: hnsw-m24-halfvec · Meerkat @0.95: mkt-defaults · pgvector HNSW (halfvec) @0.95: hnsw-m24-halfvec · Meerkat @0.99: mkt-defaults
Build comparison
| Meerkat | pgvector HNSW (halfvec) | Δ vs best competitor |
|---|
| Build time | 5699 s | 17308 s | -67% |
| Index size | 24.9 GB | 179.2 GB | -86% |
Build stats are for the configuration backing each column's best operating point: Meerkat = mkt-defaults, 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 | r8g.24xlarge |
| Hostname | ip-172-31-37-173 |
| CPU | unknown (96 vCPU) |
| Memory | 742 GB |
| OS | Ubuntu 26.04 LTS |
| Kernel | 7.0.0-1008-aws |
Versions
| rekall | 0.1.0 (764db1b / main) |
| PostgreSQL | PostgreSQL 18.4 (Ubuntu 18.4-1.pgdg26.04+1) on aarch64-unknown-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit |
| meerkat | 0.1.0 (b50abf1) |
| pg_prewarm | 1.2 |
| vector | 0.8.5 |
Search
Index builds
| Index | Type | Build time | Size | Workers |
|---|
| hnsw-m24-halfvec | pgvector-hnsw | 17307.6s | 179.2 GB | 32 |
| mkt-defaults | meerkat | 5698.7s | 24.9 GB | 32 |
Index parameters
hnsw-m24-halfvec: {"ef_construction":200,"encoding":"halfvec","m":24}
mkt-defaults: {"boundary_epsilon":null,"centroid_compression":null,"centroid_fastscan":null,"fan_out":null,"fastscan":null,"fastscan_bits":null,"nlist":null,"rerank_vectors":null,"soar_lambda":null}
PostgreSQL settings
effective_cache_size = 576 GB
effective_io_concurrency = 256
huge_pages = try
maintenance_work_mem = 307 GB
max_connections = 100
max_parallel_maintenance_workers = 32
max_parallel_workers = 96
random_page_cost = 1.1
shared_buffers = 192 GB
wal_level = replica
work_mem = 1 GB