pub struct PerformanceProfiler { /* private fields */ }Expand description
Performance profiler for FFT operations
Implementations§
Source§impl PerformanceProfiler
impl PerformanceProfiler
Sourcepub fn with_config(config: ProfileConfig) -> Self
pub fn with_config(config: ProfileConfig) -> Self
Create a new performance profiler with custom configuration
Sourcepub fn profile_size(
&self,
size: usize,
forward: bool,
) -> FFTResult<ProfileResult>
pub fn profile_size( &self, size: usize, forward: bool, ) -> FFTResult<ProfileResult>
Profile a single size with the recommended algorithm
Sourcepub fn profile_size_with_algorithm(
&self,
size: usize,
algorithm: FftAlgorithm,
forward: bool,
) -> FFTResult<ProfileResult>
pub fn profile_size_with_algorithm( &self, size: usize, algorithm: FftAlgorithm, forward: bool, ) -> FFTResult<ProfileResult>
Profile a single size with a specific algorithm (RustFFT backend)
Sourcepub fn profile_sizes(
&self,
sizes: &[usize],
forward: bool,
) -> FFTResult<Vec<ProfileResult>>
pub fn profile_sizes( &self, sizes: &[usize], forward: bool, ) -> FFTResult<Vec<ProfileResult>>
Profile multiple sizes
Sourcepub fn compare_algorithms(
&self,
size: usize,
algorithms: &[FftAlgorithm],
forward: bool,
) -> FFTResult<AlgorithmComparison>
pub fn compare_algorithms( &self, size: usize, algorithms: &[FftAlgorithm], forward: bool, ) -> FFTResult<AlgorithmComparison>
Compare algorithms for a given size
Sourcepub fn run_comprehensive_profile(&self) -> FFTResult<PerformanceReport>
pub fn run_comprehensive_profile(&self) -> FFTResult<PerformanceReport>
Run comprehensive profiling
Sourcepub fn auto_tune(
&mut self,
sizes: &[usize],
) -> FFTResult<HashMap<usize, FftAlgorithm>>
pub fn auto_tune( &mut self, sizes: &[usize], ) -> FFTResult<HashMap<usize, FftAlgorithm>>
Auto-tune for specific sizes and record results
Sourcepub fn selector(&self) -> &AlgorithmSelector
pub fn selector(&self) -> &AlgorithmSelector
Get selector reference
Sourcepub fn selector_mut(&mut self) -> &mut AlgorithmSelector
pub fn selector_mut(&mut self) -> &mut AlgorithmSelector
Get selector mutable reference
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 more