brinicle

brinicle is a C++ vector index engine (ANN library) optimized for disk-first, low-RAM similarity search.

pip install brinicle

What is brinicle?

Disk-optimized vector search engine for high-performance similarity search

brinicle is a high-performance C++ vector index engine (ANN library) optimized for disk-first, low-RAM similarity search. It provides fast build + query operations, supports inserts/upserts/deletes, and targets predictable latency at high recall with minimal memory overhead on constrained environments.

Designed for production workloads, brinicle excels in scenarios where memory is limited but disk storage is abundant. Whether you're building recommendation systems, semantic search applications, or similarity matching at scale, brinicle offers the perfect balance between performance, resource efficiency, and operational simplicity.

Index Engine
brinicle is an index engine, not a full vector database. You embed it in your service or pair it with your own metadata store.
Disk-First Design
Optimized for disk-first operation with low memory overhead. Perfect for tight containers, edge machines, and low-cost instances.
Production Ready
Designed for datasets under 10M vectors with core lifecycle operations: build/load, search, insert/upsert/delete, and rebuild.

How to Use brinicle

Get started with brinicle using these code examples. Build, insert, update, and delete vectors in your index.

Pythonusage.py
import numpy as npimport brinicleD = 2n = 5X = np.random.randn(n, D).astype(np.float32)Q = np.random.randn(D).astype(np.float32)engine = brinicle.VectorEngine("test_index", dim=D, delta_ratio=0.1)engine.init(mode="build")for eid in range(n):    engine.ingest(str(eid), X[eid])engine.finalize()print(engine.search(Q, k=10)) # returns a list of ids

Benchmark Results

See how brinicle performs in real-world scenarios.

In-Process Based
brinicle performance metrics
Average Latency0.103ms
P50 Latency0.101ms
P95 Latency0.138ms
P99 Latency0.171ms
Throughput9,731 QPS

SIFT (1M vectors, 128 dim)

HTTP-Based
brinicle performance metrics
Average Latency0.838ms
P50 Latency0.746ms
P95 Latency1.477ms
P99 Latency2.036ms
Throughput1,204 QPS

SIFT (1M vectors, 128 dim)