← all repositories
unum-cloud/USearch

FAISS, but 3K lines and a single header

USearch is a compact HNSW vector-search engine that claims FAISS-beating speed in a dependency-free C++11 header with bindings for ten languages.

USearch
Velocity · 7d
+22
★ / day
Trend
↗accelerating
star history

What it does

USearch implements HNSW-based approximate nearest-neighbor search and clustering over vectors, with native bindings for C++, Python, JavaScript, Rust, Java, Go, Swift, C#, and more — plus WebAssembly and SQLite integrations. The core is a single C++11 header of roughly 3K SLOC, versus FAISS’s 84K, with no required dependencies. It supports user-defined metrics, half/quarter-precision dtypes (bf16, e5m2, i8), and memory-mapped indexes served directly from disk.

The interesting bit

The pitch is that the same prebuilt index file can be loaded and queried from any of the ten supported languages — build in Python, serve from Go. The uint40_t ID type is a nice touch: enough to address 4B+ vectors without paying 8 bytes per neighbor reference in the graph.

Key highlights

  • Claims up to ~10x faster indexing than FAISS on 100M 96d vectors (Intel Sapphire Rapids, per their own benchmarks)
  • Any user-defined metric with JIT compilation, not just the 9 fixed ones FAISS offers
  • Disk-backed views of large indexes without loading into RAM — the README suggests up to 20x serving-cost reduction on cloud
  • Arbitrary predicate filtering during traversal (Bloom filters, external DBs) instead of ban-lists
  • Binary Tanimoto/Sorensen coefficients for genomics and chemistry workloads

Caveats

  • The headline speedups are the project’s own benchmarks on one Intel platform; the 1536d case shows a more modest 2.3–4.4x
  • Full-text search is still marked “coming soon” in the README
  • Java distribution is via a fat-JAR download; Maven Central publishing is deprecated

Verdict

Worth a look if you want fast ANN search with a tiny footprint, custom metrics, or cross-language index sharing. If you live entirely in Python and FAISS already works for you, the switch is less urgent.

Frequently asked

What is unum-cloud/USearch?
USearch is a compact HNSW vector-search engine that claims FAISS-beating speed in a dependency-free C++11 header with bindings for ten languages.
Is USearch open source?
Yes — unum-cloud/USearch is open source, released under the Apache-2.0 license.
What language is USearch written in?
unum-cloud/USearch is primarily written in C++.
How popular is USearch?
unum-cloud/USearch has 4.4k stars on GitHub and is currently accelerating.
Where can I find USearch?
unum-cloud/USearch is on GitHub at https://github.com/unum-cloud/USearch.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.