mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-31 13:29:29 +00:00
Optimizations applied: - FlatVectors: contiguous f32 slab (eliminates Vec<Vec> indirection) - VisitedSet: O(1) clear via generation counter (replaces HashSet) - 4-accumulator ILP for L2 distance (auto-vectorized) - Flat PQ distance table (cache-line friendly) - Parallel medoid finding via rayon - Zero-copy save (write flat slab directly) - Optional simsimd feature for hardware NEON/AVX2/AVX-512 - Optional gpu feature with Metal/CUDA/Vulkan dispatch stubs Results (5K vectors, 128d): - Search: 90µs → 55µs (1.6x faster) - Build: 6.9s → 6.2s (10% faster) - Recall@10: 0.998 (maintained) - 17 tests passing Co-Authored-By: claude-flow <ruv@ruv.net>
28 lines
775 B
TOML
28 lines
775 B
TOML
[package]
|
|
name = "ruvector-diskann"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "DiskANN/Vamana — SSD-friendly approximate nearest neighbor search with product quantization"
|
|
|
|
[features]
|
|
default = []
|
|
gpu = [] # Feature flag for GPU acceleration (CUDA/Metal stubs)
|
|
simd = ["simsimd"]
|
|
|
|
[dependencies]
|
|
memmap2 = { workspace = true }
|
|
rayon = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
bincode = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
rand = { workspace = true }
|
|
parking_lot = "0.12"
|
|
bytemuck = { version = "1.14", features = ["derive"] }
|
|
simsimd = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.9"
|