◆pip install vantadb-py◆BM25 + HNSW via RRF◆WAL · CRC32C checksums◆1.2ms HNSW p50 · 10K◆Apache 2.0◆Rust 1.94.1+◆Zero network◆Local-first◆pip install vantadb-py◆BM25 + HNSW via RRF◆WAL · CRC32C checksums◆1.2ms HNSW p50 · 10K◆Apache 2.0◆Rust 1.94.1+◆Zero network◆Local-first
PerformanceBENCH-01 · SIFT1M · certification hardware

Bench
marks

A formal Python-native performance benchmark suite captures ingestion throughput and query latency under realistic single-threaded workloads. No network. No warm-up tricks. In-process, on bare metal.

95ingestion ops/secSDK · 10K · 128d
1.2msHNSW p50 · 10KRust Core · 128d
2.80xbest speedupSIFT1M Balanced L2
3,636QPS peakBalanced Cos 100K
§01

BENCH-01 · SDK Performance Baseline

10K records · 128 dimensions · Cosine · single-threaded · Python SDK (PyO3 boundary)

Metricp50p99Throughput
Ingestion (PUT)
13.174 ms18.504 ms74 ops/sec
Search (Lexical BM25)
N/D (outlier)——
Search (Vector HNSW)
2.024 ms4.403 ms494 qps
Search (Hybrid Fusion)
3.114 ms5.507 ms321 qps

Query latency · p50 vs p99

lower is faster →
HNSW (Vector)p50 2.024ms · p99 4.403ms
Hybrid Fusionp50 3.114ms · p99 5.507ms
p50 p99scale 0–8ms

Hardware profile: 12-core CPU @ 3.5GHz, AVX2 enabled, Windows 11 / Ubuntu 22.04 LTS.

Source:docs/operations/BENCHMARKS.md §2 · reproduce: python benchmarks/vantadb_local_bench.py --size 10000 --dim 128 --queries 1000

Latency Explorer

Adjust the workload parameters and watch how VantaDB compares against a typical network-bound database. Numbers scale from the BENCH-01 baseline using an illustrative cost model.

Presets:
5

Results returned per query

128d

Embedding vector width

10K

Indexed vector count

p99 latency · lower is faster

scale 0–14.8ms
VantaDB · Hybrid2.9ms
◆
p50: 1.64msp99: 2.9ms
qps: 609
VantaDB · HNSW2.32ms
◆
p50: 1.07msp99: 2.32ms
qps: 937
Network DB (typical)14.76ms
p50: 6.59msp99: 14.76ms
qps: 152

throughput · queries/sec

Hybrid

609

HNSW

937

Network DB (typical)

152

Simulate benchmark

edge workload · 10K

Run a 3-second simulated benchmark of the current workload configuration. Results are extrapolated from the BENCH-01 baseline with ±4% jitter.

Note: Baseline from BENCH-01 (10K vectors, 128d, cosine). The cost model is illustrative — actual figures depend on hardware, AVX2, and ef_search configuration. Run python benchmarks/vantadb_local_bench.py for real numbers on your machine.

§02

SIFT1M · Phase 2 Competitive Benchmarks

Static prefetch · Euclidean sqrt elimination · pure SIMD cosine · O(M²) select_neighbors optimization

ScaleConfigMetricBeforeNowSpeedupp99QPS
100KBalanced CosCosine139.4s63.7s2.18x441.2 µs3,636
100KHigh Recall CosCosine390.8s182.2s2.14x1,231.8 µs1,379
100KBalanced L2Euclidean191.4s68.4s2.80x671.4 µs3,270
100KHigh Recall L2Euclidean462.2s194.5s2.37x1,183.6 µs1,353
100KHigh Recall L2 MmapMmap Euclidean411.2s189.8s2.16x1,094.8 µs1,438

Phase 2 construction speedups

SIFT1M · 100K vectors
Balanced Cos
2.18x
High Recall Cos
2.14x
Balanced L2
2.80x
High Recall L2
2.37x
High Recall L2 Mmap
2.16x

Optimizations: static prefetch · elimination of Euclidean square root in hot graph traversal · pure SIMD cosine similarity · O(M²) select_neighbors (caches references to eradicate HashMap queries during the diversity loop).

Certification hardware: AMD Ryzen 12-Core @ 3.5GHz, compiled with -C target-cpu=native.

Source:docs/operations/BENCHMARKS.md §5 · SIFT1M 100K · AMD Ryzen 12-Core @ 3.5GHz, -C target-cpu=native
§03

JS/WASM · vantadb-ts Bench

2K records · 384 dimensions · WASM in-memory in Node · seed 42 · median of 3 runs

Operationp50p95p99
Insert (putBatch)667.61 ms1,065.11 ms1,453.48 ms
Search (Vector)3.84 ms10.97 ms14.28 ms
Search (Hybrid)184.04 ms377.25 ms447.18 ms

Hardware profile: Intel i5-1235U, Windows 11, Node.js v26.8.1. WASM engine is in-memory in Node (no OPFS); browser backends pending.

Source:docs/operations/BENCHMARKS.md §15 · 2026-09-07 · reproduce: cd vantadb-ts && npm run bench
§04

Competitive benchmark · embedded engines

glove-100-angular · 10K vectors · 100 queries · top_k=10. Measured run documented in docs/operations/BENCHMARKS.md §7 (2026-06-06); VantaDB runs through PyO3 over its mmap Rust core.

MetricVantaDBLanceDBChromaDBPineconeWeaviate
Ingest QPS
598.3114,5833,886ManagedManaged
Index time (ms)
16,039.9602.2N/A (inc)ManagedManaged
Query QPS
24.3320.5978.6ManagedManaged
Latency p50 (ms)
39.742.6530.941ManagedManaged
Latency p99 (ms)
58.2456.983.349ManagedManaged
Recall@10
24.50%13.90%24.10%ManagedManaged
Peak RSS (MB)
236.5344.2253.5ManagedManaged
Delta RSS (MB)
91.797.239.1ManagedManaged
Deployment
pip install · embeddedpip install · librarypip install · client/serverFully managed SaaSSelf-host or cloud
Pricing model
Open source · $0Open sourceOpen sourceUsage / podsHosted by vendor
Durability
WAL + CRC32CArrow, query-versionedIn-memory HNSW (no WAL)Managed SLAWAL / hosted

Pinecone and Weaviate are managed/hosted services — the harness does not run them locally, so their measured cells read 'Managed'. We do not invent cross-vendor QPS/latency numbers here; all measured values come from BENCHMARKS.md §7 and are reproducible via the public harness.

§05

Run the benchmark locally

Measure the baseline on your own hardware in three commands

01

Install python bindings

pip install maturin
maturin develop --release
02

Execute the benchmark

python benchmarks/vantadb_local_bench.py \
  --size 10000 --dim 128 --queries 1000
03

Read the report

cat vanta_benchmark_report.json

Ready to build?

Install vantadb-py and run your first hybrid search in 5 minutes.

Benchmarks · Live Race

VantaDB vs the field.

Carrera visualizada de latencia p50 (HNSW · 10K). VantaDB 1.2ms certificado — competidores sin número local publicado (—). Press Start y mirá.

Head-to-head · live race
Standings
1VantaDB
2Qdrant
3Chroma

HNSW Vector Search · p50 Latency (ms)

VantaDB
1.2ms
#1
Qdrant
—
#2
Chroma
—
#3
Weaviate
—
#4
Pinecone
—
#5

Recall@10 (mayor es mejor)

VantaDB
0.998
#1
Chroma
—
#2
Qdrant
—
#3
Weaviate
—
#4
Pinecone
—
#5

VantaDB: BENCHMARKS §1 p50 1.2ms (10K) y Recall@10 0.998. Competidores: sin número medido publicado — la carrera es ilustrativa. Fuente: docs/operations/BENCHMARKS.md

Reproducible · JSON contract

VantaDB vs LanceDB & ChromaDB

glove-100-angular · 10,000 vectors · 100 queries · top-10 · cosine · single build

run 2026-06-06 · real
EngineIngest QPSIndex (ms)Query QPSp50 (ms)p99 (ms)Recall@10Peak RSS (MB)Δ RSS (MB)
VantaDB
598.316,039.924.339.74058.24524.50%236.591.7
LanceDB
114,583.0602.2320.52.6536.98013.90%344.297.2
ChromaDB
3,886.0N/A (inc)978.60.9413.34924.10%253.539.1

Readings are real numbers from the certified run (2026-06-06) — glove-100-angular, 10,000 vectors, 100 queries, top-10. VantaDB runs through its PyO3 bindings over the mmap Rust core; LanceDB and ChromaDB use their native C/C++ wrappers. Regenerate: python benchmarks/competitive_bench.py --dataset glove-100-angular --size 10000 --queries 100

Source: docs/blog/benchmarks_vs_lancedb_chroma.md — repo-tracked JSON: web/src/lib/data/competitive-benchmark.json