#1717th of 17 in Vector databases
ann-benchmarks
Benchmark harness comparing approximate nearest neighbor libraries on recall versus speed
- Stars
- 5.8k
- License
- MIT
- Last commit
- Jul 2026
- Language
- Python
5,629 on 21 Apr 20265,752 on 10 Nov 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
ANN-Benchmarks runs approximate nearest neighbor algorithms, each built in its own Docker container, against pre-split HDF5 datasets such as SIFT, GloVe, GIST and NYTimes. It sweeps hyperparameters, keeps the precision-performance frontier, and plots recall against queries per second. The README states the project is no longer actively maintained and points to VIBE as a successor.
Who it is for: Engineers comparing ANN indexes and vector search libraries
Strengths
- Covers about 40 implementations including FAISS, hnswlib, Annoy, pgvector, Qdrant, Milvus and DiskANN
- Datasets ship pre-split with top-100 ground truth in HDF5, with Euclidean, angular and Jaccard metrics
- Each algorithm has a Dockerfile, config.yml and CI test, so results are reproducible
- Adding an algorithm needs a Python wrapper, a Dockerfile and a config file
Weaknesses
- No longer actively maintained; README recommends VIBE instead
- Published plots are from April 2025, and the README has a TODO to update the website plots
- Full run can take days; the Docker image build alone takes 10-30 minutes
- Single-CPU, in-RAM datasets only; GPU support exists just for FAISS and needs a local build
What it needs
- GPU optional
- Needs Docker, Python 3.10
- Models: HDF5 datasets
Quick answers
Is ann-benchmarks open source?
Yes. Its code is on GitHub under the MIT license.
Does ann-benchmarks need a GPU?
No. It runs on a CPU and can use a GPU when you have one.
Also in Vector databases
See all 17| Rank | Project | Score |
|---|---|---|
| 1 | MilvusDistributed vector database with dense, sparse and hybrid search at scale | 90 out of 100 |
| 2 | MeilisearchRust search engine with typo tolerance, filtering and hybrid semantic search | 84 out of 100 |
| 3 | QdrantRust vector database with payload filtering, REST and gRPC | 84 out of 100 |
| #4 | faissC++ library for similarity search and clustering of dense vectors | 81 out of 100 |
| #5 | leannVector index that recomputes embeddings on demand to cut storage | 77 out of 100 |