pub struct AdaptiveCompressor { /* private fields */ }
Expand description
Adaptive compressor that automatically selects the best compression method
Implementations§
Source§impl AdaptiveCompressor
impl AdaptiveCompressor
pub fn new(quality_level: AdaptiveQuality, analysis_samples: usize) -> Self
pub fn with_fast_quality() -> Self
pub fn with_balanced_quality() -> Self
pub fn with_best_ratio() -> Self
Sourcepub fn optimize_for_vectors(
&mut self,
sample_vectors: &[Vector],
) -> Result<(), VectorError>
pub fn optimize_for_vectors( &mut self, sample_vectors: &[Vector], ) -> Result<(), VectorError>
Analyze sample vectors and optimize compression method
pub fn get_metrics(&self) -> &CompressionMetrics
pub fn get_analysis(&self) -> Option<&VectorAnalysis>
Sourcepub fn adaptive_reanalysis(
&mut self,
recent_vectors: &[Vector],
) -> Result<bool, VectorError>
pub fn adaptive_reanalysis( &mut self, recent_vectors: &[Vector], ) -> Result<bool, VectorError>
Adaptively re-analyze and potentially switch compression method
Trait Implementations§
Source§impl VectorCompressor for AdaptiveCompressor
impl VectorCompressor for AdaptiveCompressor
fn compress(&self, vector: &Vector) -> Result<Vec<u8>, VectorError>
fn decompress( &self, data: &[u8], dimensions: usize, ) -> Result<Vector, VectorError>
fn compression_ratio(&self) -> f32
Auto Trait Implementations§
impl Freeze for AdaptiveCompressor
impl !RefUnwindSafe for AdaptiveCompressor
impl Send for AdaptiveCompressor
impl Sync for AdaptiveCompressor
impl Unpin for AdaptiveCompressor
impl !UnwindSafe for AdaptiveCompressor
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.