erikbern / ann-benchmarks

Benchmarks of approximate nearest neighbor libraries in Python
http://ann-benchmarks.com
MIT License
4.73k stars 715 forks source link

Add expann #515

Closed jacketsj closed 2 weeks ago

jacketsj commented 2 months ago

Hello! Nice benchmarking repo.

ExpANN has been my personal dev repo for in-memory ANN experiments for quite some time now. One of the engines had enough performance to dominate all the rest, so all the others were eventually pruned and now it's just a single implementation. This PR runs this engine in ann-benchmarks. The engine is a fast graph-based search implementation that incorporates various aspects of a bunch of different graph-based search papers, and a number of small novel ideas. I wrote it entirely on my own, but it's quite fast. As a single data point for baseline: On my own machine (probably faster than an aws r6i.16xlarge for single-threaded performance), I've been able to hit 96% recall at 22.4k QPS on SIFT-1M. That also included a (very) small boost from PGO though, which this PR does not add.

maumueller commented 2 weeks ago

Hi @jacketsj, sorry for missing out on this.

jacketsj commented 2 weeks ago

No worries, thank you for merging!