pub struct InplaceDelete<DP, S>where
DP: DataProvider,{ /* private fields */ }Expand description
A built-in helper for running and benchmarking
inplace_delete.
This is intended to be used in conjunction with crate::build::build and
crate::build::build_tracked.
Implementations§
Source§impl<DP, S> InplaceDelete<DP, S>where
DP: DataProvider,
impl<DP, S> InplaceDelete<DP, S>where
DP: DataProvider,
Sourcepub fn new(
index: Arc<DiskANNIndex<DP>>,
strategy: S,
num_to_replace: usize,
inplace_delete_method: InplaceDeleteMethod,
to_id: impl ToIdSized<DP::ExternalId> + 'static,
) -> Arc<Self>
pub fn new( index: Arc<DiskANNIndex<DP>>, strategy: S, num_to_replace: usize, inplace_delete_method: InplaceDeleteMethod, to_id: impl ToIdSized<DP::ExternalId> + 'static, ) -> Arc<Self>
Construct a new InplaceDelete build stage.
This Build object will run for all Ids provided by to_id, invoking
diskann::graph::DiskANNIndex::inplace_delete on each ID.
Arguments num_to_replace and inplace_delete_method are passed directly to the method
on diskann::graph::DiskANNIndex.
Trait Implementations§
Source§impl<DP, S> Build for InplaceDelete<DP, S>
impl<DP, S> Build for InplaceDelete<DP, S>
Source§type Output = ()
type Output = ()
Custom output parameters. This augments the standard metrics collected by
build and
allows implementation-specific data to be returned.Source§fn num_data(&self) -> usize
fn num_data(&self) -> usize
Return the number of data points to build the index over. The machinery in
build and
build_tracked will partition the range 0..num_data() into disjoint ranges and call
Build::build on each range in an unspecified order.Source§async fn build(&self, range: Range<usize>) -> ANNResult<Self::Output>
async fn build(&self, range: Range<usize>) -> ANNResult<Self::Output>
Insert the data points specified by the range. Implementations may assume that the range is
non-empty, within
0..num_data(), and disjoint from other ranges passed to concurrent calls
while in build or build_tracked. Read moreAuto Trait Implementations§
impl<DP, S> Freeze for InplaceDelete<DP, S>where
S: Freeze,
impl<DP, S> !RefUnwindSafe for InplaceDelete<DP, S>
impl<DP, S> Send for InplaceDelete<DP, S>where
S: Send,
impl<DP, S> Sync for InplaceDelete<DP, S>where
S: Sync,
impl<DP, S> Unpin for InplaceDelete<DP, S>where
S: Unpin,
impl<DP, S> UnsafeUnpin for InplaceDelete<DP, S>where
S: UnsafeUnpin,
impl<DP, S> !UnwindSafe for InplaceDelete<DP, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> DispatchRule<T> for T
impl<T> DispatchRule<T> for T
Source§type Error = Infallible
type Error = Infallible
Errors that can occur during
convert.Source§fn try_match(_from: &T) -> Result<MatchScore, FailureScore>
fn try_match(_from: &T) -> Result<MatchScore, FailureScore>
Source§fn convert(from: T) -> Result<T, <T as DispatchRule<T>>::Error>
fn convert(from: T) -> Result<T, <T as DispatchRule<T>>::Error>
Perform the actual conversion. Read more
Source§fn description(f: &mut Formatter<'_>, from: Option<&T>) -> Result<(), Error>
fn description(f: &mut Formatter<'_>, from: Option<&T>) -> Result<(), Error>
Write a description of the dispatch rule and outcome to the formatter. Read more
Source§fn try_match_verbose<'a>(
from: &'a From,
) -> Result<MatchScore, TaggedFailureScore<'a>>where
Self: 'a,
fn try_match_verbose<'a>(
from: &'a From,
) -> Result<MatchScore, TaggedFailureScore<'a>>where
Self: 'a,
The equivalent of
try_match but returns a reason for a failed score. Read more