pub struct PerformanceProfiler { /* private fields */ }Expand description
Comprehensive performance profiler for ndimage operations
Implementations§
Source§impl PerformanceProfiler
impl PerformanceProfiler
Sourcepub fn new(config: ProfilerConfig) -> Self
pub fn new(config: ProfilerConfig) -> Self
Create a new performance profiler
Sourcepub fn start_monitoring(&self) -> NdimageResult<()>
pub fn start_monitoring(&self) -> NdimageResult<()>
Start real-time performance monitoring
Sourcepub fn stop_monitoring(&self)
pub fn stop_monitoring(&self)
Stop performance monitoring
Sourcepub fn record_operation<T, D>(
&self,
operation_name: &str,
input: &ArrayView<'_, T, D>,
execution_time: Duration,
memory_allocated: usize,
metadata: HashMap<String, String>,
) -> NdimageResult<()>
pub fn record_operation<T, D>( &self, operation_name: &str, input: &ArrayView<'_, T, D>, execution_time: Duration, memory_allocated: usize, metadata: HashMap<String, String>, ) -> NdimageResult<()>
Record operation timing and performance data
Sourcepub fn generate_performance_report(&self) -> PerformanceReport
pub fn generate_performance_report(&self) -> PerformanceReport
Generate comprehensive performance report
Sourcepub fn get_optimization_recommendations(
&self,
operation_name: &str,
) -> Vec<OptimizationRecommendation>
pub fn get_optimization_recommendations( &self, operation_name: &str, ) -> Vec<OptimizationRecommendation>
Get optimization recommendations for specific operation
Sourcepub fn benchmark_operation<F, T>(
&self,
operation_name: &str,
operation: F,
test_sizes: &[Vec<usize>],
iterations: usize,
) -> NdimageResult<BenchmarkResults>where
F: Fn(&ArrayView<'_, T, IxDyn>) -> NdimageResult<Array<T, IxDyn>>,
T: Float + FromPrimitive + Clone + Default,
pub fn benchmark_operation<F, T>(
&self,
operation_name: &str,
operation: F,
test_sizes: &[Vec<usize>],
iterations: usize,
) -> NdimageResult<BenchmarkResults>where
F: Fn(&ArrayView<'_, T, IxDyn>) -> NdimageResult<Array<T, IxDyn>>,
T: Float + FromPrimitive + Clone + Default,
Benchmark specific operation with various array sizes
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PerformanceProfiler
impl RefUnwindSafe for PerformanceProfiler
impl Send for PerformanceProfiler
impl Sync for PerformanceProfiler
impl Unpin for PerformanceProfiler
impl UnsafeUnpin for PerformanceProfiler
impl UnwindSafe for PerformanceProfiler
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> 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<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.