pub enum Operation {
StoreNoEmbedding,
SearchFts,
RecallHot,
KgQueryDepth1,
KgQueryDepth3,
KgQueryDepth5,
KgTimeline,
}Expand description
Hot-path operations covered by this iteration of the bench tool.
Variants§
StoreNoEmbedding
memory_store without embedding — pure SQLite write path.
SearchFts
memory_search — FTS5 keyword baseline.
RecallHot
memory_recall hot path, depth=1 (no hierarchy expansion).
KgQueryDepth1
memory_kg_query recursive-CTE traversal at depth=1 (the
shallowest path through the depth ≤ 3 budget bucket).
KgQueryDepth3
memory_kg_query recursive-CTE traversal at depth=3 (the
deepest path inside the “depth ≤ 3” 100 ms budget bucket). Driven
against a chain fixture so the recursive CTE actually visits
three hops per query.
KgQueryDepth5
memory_kg_query recursive-CTE traversal at depth=5 (the tail
case for the “depth ≤ 5” 250 ms budget bucket). Driven against
the same chain fixture as depth=3.
KgTimeline
memory_kg_timeline — ordered timeline for a single source.
Implementations§
Source§impl Operation
impl Operation
pub fn label(self) -> &'static str
Sourcepub fn target_p95_ms(self) -> f64
pub fn target_p95_ms(self) -> f64
p95 budget in milliseconds, sourced from PERFORMANCE.md.
KgQueryDepth1 and KgQueryDepth3 both fall in the
“depth ≤ 3” (100 ms) bucket; KgQueryDepth5 is the tail case
at “depth ≤ 5” (250 ms). SearchFts and KgTimeline happen to
share the same numeric budget as the depth ≤ 3 bucket despite
belonging to different table rows in PERFORMANCE.md.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Operation
impl<'de> Deserialize<'de> for Operation
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>,
impl Copy for Operation
impl Eq for Operation
impl StructuralPartialEq for Operation
Auto Trait Implementations§
impl Freeze for Operation
impl RefUnwindSafe for Operation
impl Send for Operation
impl Sync for Operation
impl Unpin for Operation
impl UnsafeUnpin for Operation
impl UnwindSafe for Operation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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 more