pub struct PlanOptimizer;Expand description
Plan optimizer
Implementations§
Source§impl PlanOptimizer
impl PlanOptimizer
Sourcepub async fn optimize(
&self,
plan: ExecutionPlan,
budget_check: &BudgetCheckResult,
cost_calculator: &CostCalculator,
) -> Result<ExecutionPlan>
pub async fn optimize( &self, plan: ExecutionPlan, budget_check: &BudgetCheckResult, cost_calculator: &CostCalculator, ) -> Result<ExecutionPlan>
Optimize a plan to fit budget constraints
Sourcepub fn optimize_tokens(&self, plan: &mut ExecutionPlan) -> Vec<Optimization>
pub fn optimize_tokens(&self, plan: &mut ExecutionPlan) -> Vec<Optimization>
Optimize token usage
Sourcepub fn suggest_optimizations(&self, plan: &ExecutionPlan) -> Vec<String>
pub fn suggest_optimizations(&self, plan: &ExecutionPlan) -> Vec<String>
Suggest optimizations based on historical data
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PlanOptimizer
impl RefUnwindSafe for PlanOptimizer
impl Send for PlanOptimizer
impl Sync for PlanOptimizer
impl Unpin for PlanOptimizer
impl UnwindSafe for PlanOptimizer
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 more