pub struct WorkloadProfile {
pub data_size: usize,
pub dim: usize,
pub requested_recall: f32,
pub query_density: f32,
pub k: usize,
}Expand description
Workload characteristics the cost model needs to estimate per-index cost.
data_size is the total number of indexed vectors; dim is the
dimensionality; requested_recall is in [0.0, 1.0]; query_density
expresses the expected fraction of the dataset that satisfies the query
predicate (e.g. 1.0 = no filtering, 0.1 = 10% of data is candidate).
Fields§
§data_size: usizeNumber of vectors currently indexed.
dim: usizeVector dimensionality.
requested_recall: f32Minimum acceptable recall (0.0 to 1.0).
query_density: f32Expected fraction of data passing pre-filter (0.0 to 1.0).
Use 1.0 for unfiltered queries. Lower values indicate selective
filters that should bias the optimizer toward indices that benefit
from filtering (LSH and PQ degrade gracefully; HNSW does not).
k: usizeNumber of nearest neighbours requested.
Implementations§
Trait Implementations§
Source§impl Clone for WorkloadProfile
impl Clone for WorkloadProfile
Source§fn clone(&self) -> WorkloadProfile
fn clone(&self) -> WorkloadProfile
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WorkloadProfile
impl Debug for WorkloadProfile
Source§impl<'de> Deserialize<'de> for WorkloadProfile
impl<'de> Deserialize<'de> for WorkloadProfile
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for WorkloadProfile
impl PartialEq for WorkloadProfile
Source§impl Serialize for WorkloadProfile
impl Serialize for WorkloadProfile
impl StructuralPartialEq for WorkloadProfile
Auto Trait Implementations§
impl Freeze for WorkloadProfile
impl RefUnwindSafe for WorkloadProfile
impl Send for WorkloadProfile
impl Sync for WorkloadProfile
impl Unpin for WorkloadProfile
impl UnsafeUnpin for WorkloadProfile
impl UnwindSafe for WorkloadProfile
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> 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.