← all runs

Laion-5M — 2026-08-13

i4i.xlarge · peak recall 0.9745 @ 62 QPS

QPS at recall

RecallMeerkatvchordrqpgvector HNSWΔ vs best competitor
0.902,2991,5561,144+48%
0.951,642984796+67%
0.99— (max r=0.988)188273—

Latency at recall

Meerkatvchordrqpgvector HNSWΔ vs best competitor
@ recall 0.90
p500.43 ms0.63 ms0.85 ms-32%
p950.52 ms0.73 ms1.27 ms-28%
p990.58 ms0.82 ms1.59 ms-30%
@ recall 0.95
p500.61 ms1.00 ms1.24 ms-39%
p950.73 ms1.19 ms1.77 ms-38%
p990.84 ms1.34 ms2.20 ms-37%
@ recall 0.99
p50—5.25 ms3.68 ms—
p95—6.11 ms5.22 ms—
p99—6.64 ms5.86 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: meerkat-fs8 · vchordrq @0.90: vchordrq-laion5m-n8192 · pgvector HNSW @0.90: hnsw-m16 · Meerkat @0.95: meerkat-fs8 · vchordrq @0.95: vchordrq-laion5m-n8192 · pgvector HNSW @0.95: hnsw-m16 · vchordrq @0.99: vchordrq-laion5m-hier190-35k · pgvector HNSW @0.99: hnsw-m16

Build comparison

Meerkatvchordrqpgvector HNSWΔ vs best competitor
Build time——12492 s—
Index size——18.7 GB—

Build stats are for the configuration backing each column's best operating point: pgvector HNSW = hnsw-m16, prewarmed.

Plots

Pareto svg  ·  Distance-recall svg  ·  Per-config svg  ·  Build times svg  ·  Index sizes svg
paretodistance-recallbuild-timesbuild-sizes

Host

Instance typei4i.xlarge
Hostnameip-172-31-87-191
CPUIntel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz (4 vCPU)
Memory31 GB
OSUbuntu 26.04 LTS
Kernel7.0.0-1010-aws

Versions

rekall0.1.0 (dd61107 / 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 (30760bc)
pg_buffercache1.6
pg_prewarm1.2
vchord1.1.1
vector0.8.6

Search

k10
runs3
warmup500
num_queries10000
S3 archives3://rekall-bench/runs/laion-5m/2026-08-13/i4i.xlarge-153807/

Index builds

IndexTypeBuild timeSizeWorkers
hnsw-m16pgvector-hnsw12491.8s18.7 GB2
hnsw-m16-efc64pgvector-hnsw6788.0s18.7 GB2
mkt-defaultsmeerkat582.3s1.3 GB2
vchordrq-laion5m-n8192vchordrq1233.2s20.0 GB2
Index parameters
hnsw-m16: {"ef_construction":200,"encoding":"vector","m":16}
hnsw-m16-efc64: {"ef_construction":64,"encoding":"vector","m":16}
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}
vchordrq-laion5m-n8192: {"build_threads":4,"lists":[8192],"rerank_n":200,"residual_quantization":true,"spherical_centroids":false}
PostgreSQL settings
effective_cache_size = 4 GB
effective_io_concurrency = 200
huge_pages = try
maintenance_work_mem = 64 MB
max_connections = 100
max_parallel_maintenance_workers = 2
max_parallel_workers = 8
random_page_cost = 4
shared_buffers = 24 GB
wal_level = replica
work_mem = 4 MB