Skip to content

Conversation

@twuebker
Copy link

@twuebker twuebker commented Sep 19, 2025

NSG [1] is one of the state-of-the-art algorithms according to recent surveys [2] but still missing in the benchmark.

Add NSG along with a very rudimentary configuration (based on what the authors said they used for gist and sift datasets) because NSG takes a bit longer to build compared to other indices. The NSG module uses Python bindings called pynsg that are a wrapper around the reference implementation [3].
Fix issue #112

[1] https://arxiv.org/pdf/1707.00143
[2] https://dl.acm.org/doi/abs/10.1145/3709693
[3] https://github.com/ZJULearning/nsg

Currently, one of the state-of-the-art algorithms, the Navigating Spreading-out
Graph (NSG), is missing in the benchmark.

Add NSG to the set of algorithms. Since NSG does not support non-metric
distances, add L2 and normalize + L2 to handle cosine similarity. Add
Dockerfile, add to unit tests.
Reduce runtime by only including config options specified in the paper or on the github of NSG.
@twuebker
Copy link
Author

twuebker commented Nov 2, 2025

@erikbern @maumueller Thanks for the great work on this benchmark. I'd really appreciate it if one of you could review and let me know if you want anything changed. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant