pub struct TuneBenchmark<S: ComputeServer, C, In: Clone + Send + 'static, Out: Send + 'static> { /* private fields */ }
Expand description
A benchmark that runs on server handles
Implementations§
Source§impl<S: ComputeServer, C, In: Clone + Send + 'static, Out: Send + 'static> TuneBenchmark<S, C, In, Out>
impl<S: ComputeServer, C, In: Clone + Send + 'static, Out: Send + 'static> TuneBenchmark<S, C, In, Out>
Sourcepub fn new(
operation: Arc<dyn TuneFn<Inputs = In, Output = Out>>,
inputs: In,
client: ComputeClient<S, C>,
) -> Self
pub fn new( operation: Arc<dyn TuneFn<Inputs = In, Output = Out>>, inputs: In, client: ComputeClient<S, C>, ) -> Self
Constructs a new TuneBenchmark
.
Source§impl<S: ComputeServer + 'static, C: ComputeChannel<S> + 'static, In: Clone + Send + 'static, Out: AutotuneOutput> TuneBenchmark<S, C, In, Out>
impl<S: ComputeServer + 'static, C: ComputeChannel<S> + 'static, In: Clone + Send + 'static, Out: AutotuneOutput> TuneBenchmark<S, C, In, Out>
Sourcepub fn profile(self) -> Result<Vec<ProfileDuration>, AutotuneError>
pub fn profile(self) -> Result<Vec<ProfileDuration>, AutotuneError>
Benchmark how long this operation takes for a number of samples.
Returns at least one duration, otherwise an error is returned.
Auto Trait Implementations§
impl<S, C, In, Out> Freeze for TuneBenchmark<S, C, In, Out>
impl<S, C, In, Out> !RefUnwindSafe for TuneBenchmark<S, C, In, Out>
impl<S, C, In, Out> Send for TuneBenchmark<S, C, In, Out>where
C: Send,
impl<S, C, In, Out> Sync for TuneBenchmark<S, C, In, Out>
impl<S, C, In, Out> Unpin for TuneBenchmark<S, C, In, Out>
impl<S, C, In, Out> !UnwindSafe for TuneBenchmark<S, C, In, Out>
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