turbovec is a Rust library with Python bindings implementing TurboQuant (Google Research, ICLR 2026), a data-oblivious vector quantization algorithm that compresses vectors to 2-4 bits per dimension. Unlike FAISS PQ, it requires no training step or codebook retraining — new vectors can be added at any time. The approach normalizes vectors, applies a random rotation to make coordinate distributions predictable, then uses precomputed Lloyd-Max scalar quantization. A 1536-dim FP32 vector is compressed 16x to 384 bytes. Benchmarks show recall competitive with FAISS IndexPQFastScan, with search using SIMD intrinsics (NEON/AVX2). On ARM it runs within 2-25% of FAISS speed; on x86 it is currently 1.4-3.7x slower with optimization ongoing.

4m read timeFrom github.com
Post cover image
Table of contents
PythonRustRecallCompressionSearch SpeedHow it worksBuildingRunning benchmarksStar HistoryReferences

Sort: