Integrate single attribute diversity search into benchmarks
@narendatha is already working on this.
Since Apr 7, 2026.
- Dominant language
- Rust
- Stars
- 1.9k
- Forks
- 454
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 35
Description
**Status as of Sep 10, 2026:**
Single attribute diversity algorithm based on diversity queue is already part of main branch. But it is not yet integrated with benchmarks.
This work is blocked. The block is: how to get attribute information for vectors during operations in diversity queue? The current code has experimental implementation that reads attribute information from a file and gives it in a side channel. that will not work in production because 1) attribute information and vector information are retrieved in different APIs causing performance issue of reading twice or from different places, 2) there is consistency issue if vector gets deleted between vector read and attribute read.
The right solution is to read both vector and attribute together. The current discussed design is to keep both vector and attribute info in InternalId and retrieve it together. This needs design and implementation change in core library. Since that work was postponed, this work got delayed. Once the design changes are implemented, https://github.com/microsoft/DiskANN/pull/1250 can also gets unblocked.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.