ann-benchmarks is a benchmarking framework that evaluates approximate nearest neighbor search libraries in Python.
The project addresses the lack of objective empirical comparisons among ANN search implementations by providing standardized tools to measure performance across different algorithms and metrics. It supplies pre-generated datasets in HDF5 format and Docker containers for each algorithm, allowing researchers and developers to run consistent benchmarks in isolated environments. A test suite verifies the correctness of implementations across the evaluated libraries.
The tool suits researchers, library maintainers, and practitioners who need to understand the performance trade-offs between different ANN approaches for their specific use cases. It is particularly valuable for those working with high-dimensional nearest neighbor problems who want empirical data to guide algorithm selection rather than relying on theoretical claims alone. The README indicates the project is no longer actively maintained and suggests considering alternative benchmarking efforts for new submissions.
The project has attracted a substantial user base, as evidenced by the fact that almost all open issues are raised by outside users rather than the core team. Responses to issues and pull requests typically arrive within one to two weeks.