pub struct StorageUtils;Expand description
Utility functions for storage operations
Implementations§
Source§impl StorageUtils
impl StorageUtils
Sourcepub fn vectors_to_binary(vectors: &[Vector]) -> Result<Vec<u8>>
pub fn vectors_to_binary(vectors: &[Vector]) -> Result<Vec<u8>>
Convert vectors to binary format
Sourcepub fn binary_to_vectors(data: &[u8], dimensions: usize) -> Result<Vec<Vector>>
pub fn binary_to_vectors(data: &[u8], dimensions: usize) -> Result<Vec<Vector>>
Convert binary data to vectors
Sourcepub fn estimate_storage_size(
vector_count: usize,
dimensions: usize,
compression: CompressionType,
) -> usize
pub fn estimate_storage_size( vector_count: usize, dimensions: usize, compression: CompressionType, ) -> usize
Rough heuristic storage-size estimate for capacity planning when no actual vector data is available yet (only counts/dimensions are known).
These ratios are empirical averages for typical dense f32 embedding
data; they are NOT measured against vectors (there are none to
measure here). For a real, measured ratio on actual data use
StorageUtils::benchmark_compression, which drives the same
compress_bytes codepath used by VectorWriter.
Sourcepub fn benchmark_compression(
vectors: &[Vector],
) -> Result<Vec<(CompressionType, f64, usize)>>
pub fn benchmark_compression( vectors: &[Vector], ) -> Result<Vec<(CompressionType, f64, usize)>>
Benchmark compression algorithms by actually compressing vectors
through the same compress_bytes codepath used by VectorWriter,
so the reported sizes and timings reflect real OxiARC output.
Auto Trait Implementations§
impl Freeze for StorageUtils
impl RefUnwindSafe for StorageUtils
impl Send for StorageUtils
impl Sync for StorageUtils
impl Unpin for StorageUtils
impl UnsafeUnpin for StorageUtils
impl UnwindSafe for StorageUtils
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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,
impl<T> Read<Exclusive, BecauseExclusive> 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.