Skip to content

Rename async to graph-index in diskann-benchmark#1009

Open
harsha-simhadri wants to merge 2 commits intomainfrom
harshasi/rename-async-to-graph-index
Open

Rename async to graph-index in diskann-benchmark#1009
harsha-simhadri wants to merge 2 commits intomainfrom
harshasi/rename-async-to-graph-index

Conversation

@harsha-simhadri
Copy link
Copy Markdown
Contributor

Summary

Renames all async references in the diskann-benchmark crate to graph-index, since these benchmarks exercise the graph index (not async I/O). This improves clarity for users reading benchmark names and configs.

Changes

Source code

  • File rename: src/inputs/async_.rs -> src/inputs/graph_index.rs (module declaration updated)
  • 7 input registration tags renamed (e.g. async-index-build -> graph-index-build)
  • ~25 backend registration names updated across benchmarks.rs, product.rs, scalar.rs, spherical.rs
  • 8 import paths updated from inputs::async_:: -> inputs::graph_index::
  • Display strings and comments updated throughout

Bug fix

  • Fixed copy-paste bug in scalar.rs: stub registered as "async-pq" (from product.rs) instead of "graph-index-sq"

JSON configs

  • Renamed 10 JSON example/perf_test files (e.g. async.json -> graph-index.json)
  • Updated "type" fields inside JSON files to match new names

Tests and docs

  • Renamed 3 test functions in main.rs
  • Updated README.md benchmark references and example commands

Verification

  • cargo check -p diskann-benchmark --all-targets passes cleanly
  • Grep confirms no stale async references remain (only Rust keyword usage and unrelated API types)

Replace misleading 'async' prefix with 'graph-index' across all benchmark
registration names, display strings, JSON config files, and documentation.

- Rename src/inputs/async_.rs to graph_index.rs and update module references
- Rename 7 input tags (e.g. async-index-build -> graph-index-build)
- Rename ~25 backend registration names across benchmarks.rs, product.rs,
  scalar.rs, spherical.rs
- Fix bug: scalar.rs stub used 'async-pq' (copy-paste from product.rs),
  corrected to 'graph-index-sq'
- Rename 10 JSON example/perf_test files and update their type fields
- Update 3 test function names and file references in main.rs
- Update README.md benchmark documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@harsha-simhadri harsha-simhadri force-pushed the harshasi/rename-async-to-graph-index branch from fd227a7 to 3618c15 Compare May 2, 2026 23:45
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 77.14286% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.49%. Comparing base (45428af) to head (43b591f).

Files with missing lines Patch % Lines
diskann-benchmark/src/inputs/graph_index.rs 42.85% 8 Missing ⚠️

❌ Your patch status has failed because the patch coverage (77.14%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #1009   +/-   ##
=======================================
  Coverage   89.49%   89.49%           
=======================================
  Files         448      448           
  Lines       84118    84122    +4     
=======================================
+ Hits        75282    75286    +4     
  Misses       8836     8836           
Flag Coverage Δ
miri 89.49% <77.14%> (+<0.01%) ⬆️
unittests 89.33% <77.14%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
diskann-benchmark/src/backend/index/benchmarks.rs 49.39% <100.00%> (+0.30%) ⬆️
diskann-benchmark/src/backend/index/build.rs 85.92% <ø> (ø)
diskann-benchmark/src/backend/index/product.rs 100.00% <100.00%> (ø)
diskann-benchmark/src/backend/index/scalar.rs 100.00% <100.00%> (ø)
diskann-benchmark/src/backend/index/search/knn.rs 76.56% <ø> (ø)
...iskann-benchmark/src/backend/index/search/range.rs 0.00% <ø> (ø)
diskann-benchmark/src/backend/index/spherical.rs 100.00% <ø> (ø)
...mark/src/backend/index/streaming/full_precision.rs 0.00% <ø> (ø)
diskann-benchmark/src/inputs/mod.rs 78.26% <100.00%> (ø)
diskann-benchmark/src/main.rs 91.36% <100.00%> (+0.04%) ⬆️
... and 1 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

// Stub implementation
#[cfg(not(feature = "scalar-quantization"))]
imp::register("async-pq", benchmarks);
imp::register("graph-index-sq", benchmarks);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to Sq

@harsha-simhadri harsha-simhadri marked this pull request as ready for review May 3, 2026 00:28
@harsha-simhadri harsha-simhadri requested review from a team and Copilot May 3, 2026 00:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR renames the diskann-benchmark crate’s graph-index benchmark inputs, benchmark names, example files, and docs from the old async terminology to graph-index so the public-facing labels better reflect that these jobs benchmark the graph index rather than async I/O.

Changes:

  • Renames graph-index input tags and benchmark registration names from async-* to graph-index-*.
  • Updates imports, module wiring, tests, example JSONs, and perf-test inputs to use the renamed graph-index module and tags.
  • Refreshes README commands and examples to reference the new graph-index names and files.

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
diskann-benchmark/src/main.rs Renames integration tests and example file paths to the new graph-index filenames.
diskann-benchmark/src/inputs/mod.rs Switches the registered input module from async_ to graph_index.
diskann-benchmark/src/inputs/graph_index.rs Renames user-facing input tags, display strings, and comments for graph-index jobs.
diskann-benchmark/src/backend/index/streaming/full_precision.rs Updates imports to the renamed graph-index input module.
diskann-benchmark/src/backend/index/spherical.rs Updates spherical benchmark registration/imports to the new graph-index names.
diskann-benchmark/src/backend/index/search/range.rs Retargets range-search input imports to graph_index.
diskann-benchmark/src/backend/index/search/knn.rs Retargets k-NN input imports to graph_index.
diskann-benchmark/src/backend/index/scalar.rs Renames scalar-quantized benchmark registrations and stub name, plus import paths.
diskann-benchmark/src/backend/index/product.rs Renames product-quantized benchmark registrations/stub name and import paths.
diskann-benchmark/src/backend/index/build.rs Updates build-path imports to the renamed graph-index module.
diskann-benchmark/src/backend/index/benchmarks.rs Renames full-precision and dynamic benchmark registrations and graph-index imports.
diskann-benchmark/perf_test_inputs/graph_index_scalar_oai_large.json Updates perf-test job types to the new graph-index SQ tag.
diskann-benchmark/example/spherical.json Updates spherical example job types to the new graph-index tag.
diskann-benchmark/example/spherical-filter.json Updates filtered spherical example job types to the new graph-index tag.
diskann-benchmark/example/scalar.json Updates scalar example job types to the new graph-index SQ tag.
diskann-benchmark/example/product.json Updates product example job type to the new graph-index PQ tag.
diskann-benchmark/example/graph-index.json Renames the core graph-index example job type from async-index-build to graph-index-build.
diskann-benchmark/example/graph-index-range.json Updates the range-search graph-index example tag.
diskann-benchmark/example/graph-index-no-filter-ground-truth.json Updates the no-filter ground-truth example tag.
diskann-benchmark/example/graph-index-multihop-filter-ground-truth-small.json Updates the multihop filter ground-truth example tag.
diskann-benchmark/example/graph-index-filter.json Updates the filtered graph-index example tag.
diskann-benchmark/example/graph-index-filter-ground-truth.json Updates the filter ground-truth example tag.
diskann-benchmark/example/graph-index-filter-ground-truth-small.json Updates the small filter ground-truth example tag.
diskann-benchmark/example/graph-index-dynamic.json Updates the dynamic graph-index example to the renamed dynamic input tag.
diskann-benchmark/README.md Updates documented input kinds, benchmark names, commands, and terminology to graph-index.
Comments suppressed due to low confidence (1)

diskann-benchmark/src/inputs/graph_index.rs:658

  • Renaming this registered input tag is a breaking change for existing benchmark JSON files. Jobs::parse rejects unknown tags, and the input registry only supports a single tag per type, so any existing async-index-build configs will stop loading unless we keep a compatibility alias or provide an explicit migration path.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

```json
{
"type": "async_index_build",
"type": "graph-index-build",
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.

3 participants