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 traditional vector search libraries like FAISS. It addresses the need for an efficient way to find the nearest neighbors of vectors (embeddings) across a wide variety of programming languages and hardware platforms 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 reduce memory footprints, it supports a wide range of numeric types (downcasting and quantization), including half-precision (bf16, f16) and quarter-precision formats. It also allows indexes to be served directly from disk via memory-mapping, avoiding the need to load the entire index into RAM.
Who it’s for
It is intended for developers building AI applications that require semantic search, genomics or chemistry applications (using binary Tanimoto/Sorensen coefficients), and those needing to integrate vector search into existing databases or cross-platform applications (iOS, Android, WebAssembly).
Highlights
- Extreme Performance: Claims up to 10x faster indexing than FAISS and significantly faster brute-force search.
- Broad Compatibility: Native bindings for 10+ languages including Python, Rust, C++, Go, and Java.
- Memory Efficient: Supports
uint40_tfor indexing up to 1 trillion entries and multiple low-precision data types to save RAM. - Flexible Metrics: Supports arbitrary user-defined metrics via Numba, Cppyy, or PeachPy.
- Disk-Based Serving: Ability to view large indexes from disk without loading them into RAM, potentially reducing cloud infrastructure costs.
- Integrated Clustering: Built-in K-Nearest Neighbors clustering and sub-clustering capabilities.
Related
- Project
- Project
- Project
- Project
- Project