pub struct DispatchTable { /* private fields */ }Expand description
O(1) runtime dispatch table, constructed once from a
ProfileReport and then queried at realize time.
Implementations§
Source§impl DispatchTable
impl DispatchTable
Sourcepub fn build(report: &ProfileReport) -> DispatchTable
pub fn build(report: &ProfileReport) -> DispatchTable
Build a dispatch table from a profile report with default options.
pub fn build_with( report: &ProfileReport, opts: DispatchOptions, ) -> DispatchTable
Sourcepub fn pick(
&self,
op: OpKind,
dtype: DType,
size_class: SizeClass,
criterion: Criterion,
) -> Option<Pick>
pub fn pick( &self, op: OpKind, dtype: DType, size_class: SizeClass, criterion: Criterion, ) -> Option<Pick>
Exact lookup — returns None if the requested size class
wasn’t profiled.
Sourcepub fn pick_nearest(
&self,
op: OpKind,
dtype: DType,
size_class: SizeClass,
criterion: Criterion,
) -> Option<Pick>
pub fn pick_nearest( &self, op: OpKind, dtype: DType, size_class: SizeClass, criterion: Criterion, ) -> Option<Pick>
Nearest-neighbour lookup. Ties go to the larger size class.
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Trait Implementations§
Source§impl Clone for DispatchTable
impl Clone for DispatchTable
Source§fn clone(&self) -> DispatchTable
fn clone(&self) -> DispatchTable
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DispatchTable
impl RefUnwindSafe for DispatchTable
impl Send for DispatchTable
impl Sync for DispatchTable
impl Unpin for DispatchTable
impl UnsafeUnpin for DispatchTable
impl UnwindSafe for DispatchTable
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more