https://github.com/infinilabs/diskann
DiskANN in Pure Rust — Built for Large-Scale Approximate Nearest Neighbor Search.
https://github.com/infinilabs/diskann
diskann pizza rust vector-search
Last synced: about 2 months ago
JSON representation
DiskANN in Pure Rust — Built for Large-Scale Approximate Nearest Neighbor Search.
- Host: GitHub
- URL: https://github.com/infinilabs/diskann
- Owner: infinilabs
- License: mit
- Created: 2025-06-25T05:37:52.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-28T06:20:39.000Z (2 months ago)
- Last Synced: 2025-07-28T08:25:01.682Z (2 months ago)
- Topics: diskann, pizza, rust, vector-search
- Language: Rust
- Homepage:
- Size: 9.02 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://papers.nips.cc/paper/9527-rand-nsg-fast-accurate-billion-point-nearest-neighbor-search-on-a-single-node.pdf)
[](https://arxiv.org/abs/2105.09613)
[](https://harsha-simhadri.org/pubs/Filtered-DiskANN23.pdf)# DiskANN in Rust
DiskANN is a suite of scalable, accurate, cost-effective approximate nearest neighbor (ANN) search algorithms for large-scale vector search.
It uses a graph-based index (Vamana) to manage very large datasets with high recall and low latency.
For example, DiskANN can index, store, and query a billion-point dataset on a single machine with 64GB RAM and an SSD, achieving high recall and low query latency.The INFINI Labs DiskANN project provides a pure Rust implementation of these ideas. This crate was originally forked from Microsoft’s partial Rust port (the DiskANN/rust folder) and extended to be complete.
In particular, it implements the previously-missing disk-based query functionality, enabling full end-to-end DiskANN indexing and search in Rust.# Features
Key features:
- Pure Rust implementation – no C/C++ dependencies; leverages Rust’s memory safety and concurrency.
- Disk-based indexing and querying – supports very large datasets that do not fit in memory.
- High recall and low latency – optimized for fast approximate nearest neighbor search.
- Parallelism – leverages Rust’s concurrency features for efficient indexing and querying.# Installation
Add the diskann crate to your project by including it in Cargo.toml. For example:
```
[dependencies]
diskann = "0.1"
```# Usage
```rust
```# Contributing
Contributions and bug reports are welcome! Please open issues or pull requests on the GitHub repository. We follow the standard Rust community conventions.
# Notice
The code is based on ideas from the [DiskANN](https://papers.nips.cc/paper/9527-rand-nsg-fast-accurate-billion-point-nearest-neighbor-search-on-a-single-node.pdf), [Fresh-DiskANN](https://arxiv.org/abs/2105.09613) and the [Filtered-DiskANN](https://harsha-simhadri.org/pubs/Filtered-DiskANN23.pdf) papers with further improvements.
This project forked off from [Microsoft/DiskANN](https://github.com/microsoft/DiskANN/tree/main/rust) and [code for NSG](https://github.com/ZJULearning/nsg) .
# License
This project is released under the MIT License. See the [LICENSE](LICENSE) file for details.