pub struct MemoryConstraint {
pub max_bytes: usize,
pub max_vectors: usize,
pub bytes_per_vector: usize,
pub overhead_factor: f32,
}Expand description
Memory constraint configuration for resource-limited systems
Fields§
§max_bytes: usizeMaximum memory budget in bytes
max_vectors: usizeMaximum number of vectors (computed from max_bytes)
bytes_per_vector: usizeBytes per vector (computed from dim and storage mode)
overhead_factor: f32Reserved memory for overhead (default: 10%)
Implementations§
Source§impl MemoryConstraint
impl MemoryConstraint
Sourcepub fn bytes_per_vector(dim: usize, store_fp32: bool) -> usize
pub fn bytes_per_vector(dim: usize, store_fp32: bool) -> usize
Calculate bytes per vector for given dimension and storage mode
Sourcepub fn from_bytes(
max_bytes: usize,
dim: usize,
store_fp32: bool,
) -> MemoryConstraint
pub fn from_bytes( max_bytes: usize, dim: usize, store_fp32: bool, ) -> MemoryConstraint
Create a memory constraint from a byte budget
Sourcepub fn from_vectors(
max_vectors: usize,
dim: usize,
store_fp32: bool,
) -> MemoryConstraint
pub fn from_vectors( max_vectors: usize, dim: usize, store_fp32: bool, ) -> MemoryConstraint
Create from a target vector count
Trait Implementations§
Source§impl Clone for MemoryConstraint
impl Clone for MemoryConstraint
Source§fn clone(&self) -> MemoryConstraint
fn clone(&self) -> MemoryConstraint
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MemoryConstraint
impl RefUnwindSafe for MemoryConstraint
impl Send for MemoryConstraint
impl Sync for MemoryConstraint
impl Unpin for MemoryConstraint
impl UnsafeUnpin for MemoryConstraint
impl UnwindSafe for MemoryConstraint
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request