Skip to content

Faiss vs turbovec

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

Faiss

Open source · MIT

A C++ library with Python bindings for fast similarity search over large sets of vectors.

turbovec

Open source · MIT

A compressed vector search index for Python and Rust that runs inside your own process.

The short answer

Choose Faiss if you need…

  • Developers building semantic search or recommendation features over embedding vectors
  • Teams working with very large vector collections that need compressed indexes
  • Python users who want numpy-compatible similarity search
  • Researchers comparing approximate nearest neighbor methods

Choose turbovec if you need…

  • Python or Rust developers building semantic search over a few million or fewer embeddings on a single machine
  • RAG pipelines that need a local, offline vector store
  • Projects where memory use for embeddings is a constraint
  • Apps that frequently add and remove vectors and need fast updates

Side-by-side

Faissturbovec
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars41.2k17.5k
Setup difficultyIntermediateIntermediate
How you get itInstall with a package managerInstall with a package manager
Main languageC++Rust
Last code update4 days ago30 days ago

What each one is

Faiss

Faiss is a library for finding vectors that are similar to a query vector, such as searching embeddings for text or images. It can handle collections of vectors large enough that they may not fit in RAM, and it includes tools for evaluation and parameter tuning. It is written in C++ with Python/numpy wrappers, and some algorithms run on GPUs.

turbovec

turbovec stores embedding vectors (lists of numbers that represent text or other content) in a compressed form using 2 or 4 bits per dimension, based on Google Research's TurboQuant method. It then finds the vectors closest to a query, which is the core step in semantic search and retrieval-augmented generation (RAG). It runs as a library inside your program rather than as a separate server.

Best for

Faiss

  • Developers building semantic search or recommendation features over embedding vectors
  • Teams working with very large vector collections that need compressed indexes
  • Python users who want numpy-compatible similarity search
  • Researchers comparing approximate nearest neighbor methods

turbovec

  • Python or Rust developers building semantic search over a few million or fewer embeddings on a single machine
  • RAG pipelines that need a local, offline vector store
  • Projects where memory use for embeddings is a constraint
  • Apps that frequently add and remove vectors and need fast updates
  • Teams already using LangChain, LlamaIndex, Haystack or Agno who want a drop-in store

Strengths

Faiss

  • Designed for efficient search over large sets of dense vectors, with options that trade speed, quality, and memory
  • Mostly C++ with complete Python/numpy wrappers and optional GPU support via CUDA or AMD ROCm
  • Released under the MIT license and developed primarily at Meta's Fundamental AI Research group

turbovec

  • Much lower memory use than float32 storage: the README reports 7.8× smaller at 4-bit and 15.5× at 2-bit
  • Benchmarks in the README show faster search than FAISS at matched recall, on the stated hardware and corpora
  • Runs locally with no network service, and supports incremental, crash-safe saves

Not ideal for

Faiss

  • People who want a finished search app with a user interface, since this is a library
  • Users with small datasets where a simple brute-force search in another tool is enough, because Faiss adds setup complexity
  • Projects that need a managed database with storage, filtering, and updates handled for them, since the README describes only the search and clustering library

turbovec

  • Very large corpora with strict latency needs: the README says turbovec scans every vector and suggests a graph index such as HNSW for hundreds of millions of vectors
  • Cases needing exact float results, since quantization is lossy and recall depends on your data
  • Teams wanting a hosted or networked vector database, because it has no server, replication or multi-tenant API
  • Vectors whose dimension is not a multiple of 8 or exceeds 16,384, since those are stated limits

Trade-offs

Faiss

  • The README describes many index types and trade-offs, so choosing the right one takes some study
  • GPU support requires suitable hardware and drivers, and the README does not detail every setup requirement
  • Full documentation is on an external wiki and the README is truncated, so some details could not be verified here

turbovec

  • Search cost grows linearly with corpus size because it scans every vector, per the README's own benchmarks
  • Quantization is lossy, so top results can differ from exact float search; the README says to check recall on your own data
  • Benchmarks are the author's, run on specific GCP machines, so results on your hardware may differ

Getting started

Faiss

Install CPU build from Anaconda (per README link to faiss-cpu)

git clone https://github.com/facebookresearch/faiss.git
Step-by-step guide: how to use Faiss

turbovec

Install the Python package

pip install turbovec

Add the Rust crate

cargo add turbovec
Step-by-step guide: how to use turbovec

Frequently asked questions

What is the difference between Faiss and turbovec?

Faiss: A C++ library with Python bindings for fast similarity search over large sets of vectors. turbovec: A compressed vector search index for Python and Rust that runs inside your own process. Faiss suits developers building semantic search or recommendation features over embedding vectors, while turbovec suits python or rust developers building semantic search over a few million or fewer embeddings on a single machine.

Are Faiss and turbovec free?

Faiss: Free and open source. turbovec: Free and open source.

Is Faiss or turbovec more popular?

Faiss has more GitHub stars (41.2k) than turbovec (17.5k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to Faiss and turbovec?

Other options people compare them with include LEANN, BGE, faster-whisper.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.