From d6b0171e7ab8aad4525398a17879546f3295a51a Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Mon, 17 May 2021 13:27:25 +0200 Subject: [PATCH] Take ownership of points --- instant-distance-py/src/lib.rs | 2 +- instant-distance/benches/all.rs | 2 +- instant-distance/src/lib.rs | 4 ++-- instant-distance/tests/all.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/instant-distance-py/src/lib.rs b/instant-distance-py/src/lib.rs index 5194b8f..4a9355e 100644 --- a/instant-distance-py/src/lib.rs +++ b/instant-distance-py/src/lib.rs @@ -41,7 +41,7 @@ impl Hnsw { .map(FloatArray::try_from) .collect::, PyErr>>()?; - let (inner, ids) = instant_distance::Builder::from(config).build(&points); + let (inner, ids) = instant_distance::Builder::from(config).build(points); let ids = Vec::from_iter(ids.into_iter().map(|pid| pid.into_inner())); Ok((Self { inner }, ids)) } diff --git a/instant-distance/benches/all.rs b/instant-distance/benches/all.rs index df88014..edc21a4 100644 --- a/instant-distance/benches/all.rs +++ b/instant-distance/benches/all.rs @@ -15,7 +15,7 @@ fn build_heuristic(bench: &mut Bencher) { .map(|_| Point(rng.gen(), rng.gen())) .collect::>(); - bench.iter(|| Builder::default().seed(seed).build(&points)) + bench.iter(|| Builder::default().seed(seed).build(points.clone())) } /* diff --git a/instant-distance/src/lib.rs b/instant-distance/src/lib.rs index 7b7c054..4267982 100644 --- a/instant-distance/src/lib.rs +++ b/instant-distance/src/lib.rs @@ -74,7 +74,7 @@ impl Builder { } /// Build the `Hnsw` with the given set of points - pub fn build(self, points: &[P]) -> (Hnsw

, Vec) { + pub fn build(self, points: Vec

) -> (Hnsw

, Vec) { Hnsw::new(points, self) } @@ -137,7 +137,7 @@ where Builder::default() } - fn new(points: &[P], builder: Builder) -> (Self, Vec) { + fn new(points: Vec

, builder: Builder) -> (Self, Vec) { let ef_search = builder.ef_search; let ef_construction = builder.ef_construction; let ml = builder.ml; diff --git a/instant-distance/tests/all.rs b/instant-distance/tests/all.rs index bfb04f9..2f0b49e 100644 --- a/instant-distance/tests/all.rs +++ b/instant-distance/tests/all.rs @@ -38,7 +38,7 @@ fn randomized(builder: Builder) -> (u64, usize) { } } - let (hnsw, pids) = builder.seed(seed).build(&points); + let (hnsw, pids) = builder.seed(seed).build(points); let mut search = Search::default(); let results = hnsw.search(&query, &mut search); assert!(results.len() >= 100);