unum-cloud/USearch

Fast Open-Source Search & Clustering engine × for Vectors & Arbitrary Objects × in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram 🔍

What it solves

USearch is a high-performance similarity search and clustering engine designed to be smaller, faster, and more portable than industry standards like FAISS. It addresses the need for an efficient way to find the nearest neighbors of vectors (and eventually text) across a wide variety of platforms and programming languages without requiring heavy dependencies.

How it works

USearch implements the HNSW (Hierarchical Navigable Small World) algorithm for approximate nearest neighbor search. It optimizes performance using SIMD (Single Instruction, Multiple Data) and JIT compilation for user-defined metrics. To maintain a small footprint, it uses a single C++11 header library and provides native bindings for 10 different languages. It also supports memory-mapping, allowing large indexes to be served from disk without loading the entire dataset into RAM.

Who it’s for

It is built for developers needing fast vector search capabilities for applications in AI, genomics, chemistry, and geospatial indexing, as well as those who want to integrate similarity search into existing databases or deploy to resource-constrained environments (like iOS, Android, or WebAssembly).

Highlights

  • Extreme Performance: Claims up to 10x faster indexing than FAISS and significantly faster brute-force search.
  • Broad Compatibility: Native bindings for Python, Rust, Go, Java, C#, JavaScript, C++, and more.
  • Memory Efficient: Supports half-precision (bf16, f16) and quarter-precision (e5m2, e4m3) formats to reduce RAM usage.
  • Customizable: Allows users to define their own similarity metrics via Numba, Cppyy, or PeachPy.
  • Disk-Based Serving: Ability to view large indexes from disk via memory-mapping, potentially reducing cloud infrastructure costs.
  • Integrated Clustering: Built-in K-Nearest Neighbors clustering and sub-clustering capabilities.

Related

  • Project
  • Project
  • Project
  • Project
  • Dispatch