Conversation
There was a problem hiding this comment.
Pull request overview
Adds an eight_bit query layout option for the MinMax exhaustive benchmark in diskann-benchmark, enabling benchmarking where queries are compressed to 8-bit even when the indexed data uses a different MinMax bit-rate.
Changes:
- Extend
MinMaxQuerywith a newEightBitvariant and include it in the MinMax exhaustive example input defaults. - Update the MinMax exhaustive backend to build distance computers for 8-bit-compressed queries (
Data<8>). - Update the
minmax-exhaustive.jsonexample to include"eight_bit"in some jobs and adjust several job parameters.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| diskann-benchmark/src/inputs/exhaustive.rs | Adds MinMaxQuery::EightBit and includes it in the MinMax example query_layouts. |
| diskann-benchmark/src/backend/exhaustive/minmax.rs | Adds support for 8-bit query compression in the exhaustive MinMax distance computer creation path. |
| diskann-benchmark/example/minmax-exhaustive.json | Updates example jobs to include eight_bit in some cases and changes several job distances/query_layout sets. |
Comments suppressed due to low confidence (1)
diskann-benchmark/src/backend/exhaustive/minmax.rs:624
- The new
MinMaxQuery::EightBitpath supports multiple distance measures at runtime, but the updatedexample/minmax-exhaustive.jsononly exerciseseight_bitforsquared_l2. To avoid regressions in theinner_product/cosinebranches (which are easy to break with trait-bound changes), add at least one integration example job that usesquery_layouts: ["eight_bit", ...]withinner_productand/orcosine, or add a focused test that runs those combinations.
MinMaxQuery::EightBit => {
let mut compressed = Data::<8>::new_boxed(output_dim);
quantizer.compress_into(query, compressed.reborrow_mut())?;
match self.measure {
SimilarityMeasure::SquaredL2 => {
let inner: MinMaxL2Squared = quantizer.as_functor();
Ok(Boxed::new(Curried::new(inner, compressed)))
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #959 +/- ##
==========================================
- Coverage 89.32% 89.32% -0.01%
==========================================
Files 448 447 -1
Lines 83563 83260 -303
==========================================
- Hits 74645 74369 -276
+ Misses 8918 8891 -27
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Add support for 8-bit queries in the exhaustive benchmark for minmax in
diskann-benchmark. Here is a sample result -