pub struct PatternAnalyzer { /* private fields */ }Expand description
Pattern analyzer for detecting optimization opportunities
Implementations§
Source§impl PatternAnalyzer
impl PatternAnalyzer
pub fn new() -> Self
pub fn detect_fusion_opportunities( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<DetectedPattern>>
pub fn detect_memory_patterns( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<DetectedPattern>>
pub fn detect_parallelization_patterns( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<DetectedPattern>>
pub fn detect_vectorization_patterns( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<DetectedPattern>>
pub fn detect_inefficient_patterns( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<DetectedAntipattern>>
pub fn detect_memory_antipatterns( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<DetectedAntipattern>>
pub fn detect_computation_antipatterns( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<DetectedAntipattern>>
pub fn find_constant_folding_opportunities( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<OptimizationOpportunity>>
pub fn find_dead_code_elimination_opportunities( &mut self, _graph: &ComputationGraph, ) -> JitResult<Vec<OptimizationOpportunity>>
pub fn find_loop_optimization_opportunities( &mut self, graph: &ComputationGraph, ) -> JitResult<Vec<OptimizationOpportunity>>
pub fn extract_opportunities_from_abstract_analysis( &mut self, analysis: &AbstractAnalysisResult, ) -> JitResult<Vec<OptimizationOpportunity>>
pub fn extract_opportunities_from_symbolic_execution( &mut self, execution: &SymbolicExecutionResult, ) -> JitResult<Vec<OptimizationOpportunity>>
pub fn calculate_pattern_frequency(&self) -> HashMap<String, f64>
pub fn calculate_complexity_metrics(&self) -> ComplexityMetrics
pub fn calculate_confidence(&self) -> f64
Auto Trait Implementations§
impl Freeze for PatternAnalyzer
impl RefUnwindSafe for PatternAnalyzer
impl Send for PatternAnalyzer
impl Sync for PatternAnalyzer
impl Unpin for PatternAnalyzer
impl UnsafeUnpin for PatternAnalyzer
impl UnwindSafe for PatternAnalyzer
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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