← all runs

Cohere-100M — 2026-09-02

r8i.16xlarge · peak recall 0.9965 @ 25 QPS
“Is HNSW build practical on 16xlarge?”

QPS at recall

RecallMeerkatpgvector HNSW (halfvec)Δ vs best competitor
0.90529303+75%
0.95240127+89%
0.9952— (max r=0.985)—

Latency at recall

Meerkatpgvector HNSW (halfvec)Δ vs best competitor
@ recall 0.90
p501.88 ms3.33 ms-44%
p952.29 ms4.48 ms-49%
p992.57 ms5.41 ms-52%
@ recall 0.95
p504.13 ms8.14 ms-49%
p954.94 ms10.06 ms-51%
p995.51 ms11.67 ms-53%
@ recall 0.99
p5019.31 ms——
p9522.54 ms——
p9924.70 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

Meerkatpgvector HNSW (halfvec)Δ vs best competitor
Build time2955 s151099 s-98%
Index size24.9 GB179.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 svg
paretodistance-recallbuild-timesbuild-sizes

Host

Instance typer8i.16xlarge
Hostnameip-172-31-76-48
CPUIntel(R) Xeon(R) 6975P-C (64 vCPU)
Memory496 GB
OSUbuntu 26.04.1 LTS
Kernel7.0.0-1011-aws

Versions

rekall0.1.0 (1834b41 / main)
PostgreSQLPostgreSQL 18.6 (Ubuntu 18.6-1.pgdg26.04+2) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit
meerkat0.1.0 (bdffa10)
pg_prewarm1.2
vector0.8.6

Search

k10
runs3
warmup500
num_queries10000
S3 archives3://rekall-bench/runs/cohere-100m/2026-09-02/r8i.16xlarge-103920/

Index builds

IndexTypeBuild timeSizeWorkers
hnsw-m24-halfvecpgvector-hnsw151098.8s179.2 GB32
mkt-defaultsmeerkat2955.1s24.9 GB32
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}
Instance settings (observed)
instance type          r8i.16xlarge
vCPU (observed)        64
memory (observed)      495.8 GiB
cpu model              Intel(R) Xeon(R) 6975P-C
kernel                 7.0.0-1011-aws
data directory         /var/lib/postgresql/18/main
mount point            /
filesystem             ext4
media                  unknown
device                 root
provisioned IOPS       — not an EBS volume
PostgreSQL settings
checkpoint_completion_target = 0.9
cluster_name = 18/main
data_directory = /var/lib/postgresql/18/main
effective_cache_size = 384 GB
effective_io_concurrency = 256
huge_pages = try
jit = off
maintenance_io_concurrency = 256
maintenance_work_mem = 204 GB
max_connections = 100
max_parallel_maintenance_workers = 32
max_parallel_workers = 64
max_wal_size = 64 GB
random_page_cost = 1.1
server_version = 18.6 (Ubuntu 18.6-1.pgdg26.04+2)
shared_buffers = 128 GB
wal_level = replica
work_mem = 1 GB