pub struct AdaptiveOptimizer { /* private fields */ }Expand description
Adaptive optimization based on runtime characteristics
Implementations§
Source§impl AdaptiveOptimizer
impl AdaptiveOptimizer
Sourcepub fn should_use_parallel(&self, size: usize) -> bool
pub fn should_use_parallel(&self, size: usize) -> bool
Check if parallel execution should be used for given size
Sourcepub fn should_use_simd(&self, size: usize) -> bool
pub fn should_use_simd(&self, size: usize) -> bool
Check if SIMD should be used for given size
Sourcepub fn update_from_measurement(
&mut self,
operation: &str,
size: usize,
durationns: u64,
)
pub fn update_from_measurement( &mut self, operation: &str, size: usize, durationns: u64, )
Update thresholds based on performance measurements
Sourcepub fn optimal_chunk_size<T>(&self) -> usize
pub fn optimal_chunk_size<T>(&self) -> usize
Get optimal chunk size for cache-friendly operations
Sourcepub fn should_use_gpu(&self, size: usize) -> bool
pub fn should_use_gpu(&self, size: usize) -> bool
Check if GPU acceleration should be used for given size
Sourcepub fn select_for_operation(
&self,
operationname: &str,
size: usize,
) -> OptimizationStrategy
pub fn select_for_operation( &self, operationname: &str, size: usize, ) -> OptimizationStrategy
Select the optimal strategy for a given operation
Sourcepub fn record_performance(
&mut self,
operation: &str,
size: usize,
strategy: OptimizationStrategy,
duration_ns: u64,
)
pub fn record_performance( &mut self, operation: &str, size: usize, strategy: OptimizationStrategy, duration_ns: u64, )
Record performance measurement and update adaptive parameters
Sourcepub fn get_performance_metrics(&self) -> Option<PerformanceMetrics>
pub fn get_performance_metrics(&self) -> Option<PerformanceMetrics>
Get performance metrics for analysis
Sourcepub fn analyze_operation(
&self,
operation_name: &str,
inputsize: usize,
) -> OptimizationAdvice
pub fn analyze_operation( &self, operation_name: &str, inputsize: usize, ) -> OptimizationAdvice
Analyze operation characteristics to suggest optimizations
Sourcepub fn select_optimal_strategy(
&self,
_operation_name: &str,
input_size: usize,
) -> OptimizationStrategy
pub fn select_optimal_strategy( &self, _operation_name: &str, input_size: usize, ) -> OptimizationStrategy
Select optimal strategy based on operation name and input size
Sourcepub fn has_gpu_support(&self) -> bool
pub fn has_gpu_support(&self) -> bool
Check if GPU support is available
Sourcepub fn has_simd_support(&self) -> bool
pub fn has_simd_support(&self) -> bool
Check if SIMD support is available
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for AdaptiveOptimizer
impl RefUnwindSafe for AdaptiveOptimizer
impl Send for AdaptiveOptimizer
impl Sync for AdaptiveOptimizer
impl Unpin for AdaptiveOptimizer
impl UnwindSafe for AdaptiveOptimizer
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
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> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§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<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
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.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.