Info

ANN-Benchmarks is a benchmarking environment for approximate nearest neighbor algorithms search. This website contains the current benchmarking results. Please visit http://github.com/erikbern/ann-benchmarks/ to get an overview over evaluated data sets and algorithms. Make a pull request on Github to add your own code or improvements to the benchmarking system.

Benchmarking Results

Results are split by distance measure and dataset. In the bottom, you can find an overview of an algorithm's performance on all datasets. Each dataset is annoted by (k = ...), the number of nearest neighbors an algorithm was supposed to return. The plot shown depicts Recall (the fraction of true nearest neighbors found, on average over all queries) against Queries per second. Clicking on a plot reveils detailled interactive plots, including approximate recall, index size, and build time.

Benchmarks for Single Queries

Results by Dataset

Distance: Angular

glove-100-angular (k = 10)

Image

glove-25-angular (k = 10)

Image

nytimes-256-angular (k = 10)

Image

Distance: Euclidean

fashion-mnist-784-euclidean (k = 10)

Image

gist-960-euclidean (k = 10)

Image

sift-128-euclidean (k = 10)

Image

Distance: Hamming

sift-256-hamming (k = 10)

Image

word2bits-800-hamming (k = 10)

Image

Distance: Jaccard

kosarak-jaccard (k = 10)

Image

Results by Algorithm

faiss-ivf

Image

scann

Image

pgvector

Image

annoy

Image

glass

Image

hnswlib

Image

BallTree(nmslib)

Image

vald(NGT-anng)

Image

hnsw(faiss)

Image

NGT-qg

Image

qdrant

Image

n2

Image

Milvus(Knowhere)

Image

qsgngt

Image

faiss-ivfpqfs

Image

mrpt

Image

redisearch

Image

SW-graph(nmslib)

Image

NGT-panng

Image

pynndescent

Image

vearch

Image

hnsw(vespa)

Image

vamana(diskann)

Image

flann

Image

luceneknn

Image

weaviate

Image

puffinn

Image

hnsw(nmslib)

Image

bruteforce-blas

Image

tinyknn

Image

NGT-onng

Image

elastiknn-l2lsh

Image

sptag

Image

ckdtree

Image

kd

Image

opensearchknn

Image

datasketch

Image

bf

Image

Contact

ANN-Benchmarks has been developed by Martin Aumueller ([email protected]), Erik Bernhardsson ([email protected]), and Alec Faitfull ([email protected]). Please use Github to submit your implementation or improvements.