pub struct AutotuneRecord<'a, K: Clone> {
pub key: Cow<'a, K>,
pub fastest_index: usize,
pub fastest_time: Duration,
pub results: Cow<'a, [AutotuneResult]>,
pub log_context: Option<Cow<'a, AutotuneLogContext>>,
pub checks: Option<Cow<'a, [CheckResult]>>,
}Expand description
The complete record of one tuning decision, written as JSON when the autotune recorder has a sink configured. One record per line, per decision, in a fixed schema for tools to read back.
Fields§
§key: Cow<'a, K>The key for the autotuning job.
fastest_index: usizeThe index of the fastest candidate.
fastest_time: DurationThe time taken by the fastest candidate.
results: Cow<'a, [AutotuneResult]>All benchmarking results.
log_context: Option<Cow<'a, AutotuneLogContext>>Logging context with bounds, limit, and events.
checks: Option<Cow<'a, [CheckResult]>>Check results if autotune-checks is enabled else None.
Trait Implementations§
Source§impl<'de, 'a, K> Deserialize<'de> for AutotuneRecord<'a, K>where
K: Clone + Deserialize<'de>,
impl<'de, 'a, K> Deserialize<'de> for AutotuneRecord<'a, K>where
K: Clone + Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<'a, K> Freeze for AutotuneRecord<'a, K>
impl<'a, K> RefUnwindSafe for AutotuneRecord<'a, K>where
Cow<'a, K>: RefUnwindSafe,
impl<'a, K> Send for AutotuneRecord<'a, K>
impl<'a, K> Sync for AutotuneRecord<'a, K>
impl<'a, K> Unpin for AutotuneRecord<'a, K>
impl<'a, K> UnsafeUnpin for AutotuneRecord<'a, K>where
Cow<'a, K>: UnsafeUnpin,
impl<'a, K> UnwindSafe for AutotuneRecord<'a, K>where
Cow<'a, K>: UnwindSafe,
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
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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