pub struct TuneRecord<K> {
pub table: String,
pub entry: PersistentCacheKey<K>,
pub winner: usize,
pub trials: Vec<Trial>,
pub short_circuit: Option<String>,
pub wall: Duration,
pub dry_run: bool,
pub stored: bool,
}Expand description
How one autotune key was decided.
Fields§
§table: StringThe namespace of the table the answer is stored in.
entry: PersistentCacheKey<K>The table’s entry the answer is stored under: the key, and the checksum of the candidate list it was tuned under.
winner: usizeThe index of the candidate the key runs.
trials: Vec<Trial>The candidates that ran, in the order they ran.
short_circuit: Option<String>The candidate that met the time limit and ended the tune before the rest of the plan ran.
wall: DurationFrom the cache miss to the answer committed.
dry_run: boolWhether the tune ran inside a dry run, where launches compile but do not execute.
stored: boolWhether the table took the answer. One that measured nothing, or that was tuned with the cache disabled, answers this process alone: the table holds another answer to the key, or none.
Trait Implementations§
Source§impl<K: Clone> Clone for TuneRecord<K>
impl<K: Clone> Clone for TuneRecord<K>
Source§impl<K: Debug> Debug for TuneRecord<K>
impl<K: Debug> Debug for TuneRecord<K>
Source§impl<'de, K> Deserialize<'de> for TuneRecord<K>where
K: Deserialize<'de>,
impl<'de, K> Deserialize<'de> for TuneRecord<K>where
K: 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
impl<K: Eq> Eq for TuneRecord<K>
Source§impl<K: PartialEq> PartialEq for TuneRecord<K>
impl<K: PartialEq> PartialEq for TuneRecord<K>
Source§impl<K> Record for TuneRecord<K>
impl<K> Record for TuneRecord<K>
Source§impl<K> Serialize for TuneRecord<K>where
K: Serialize,
impl<K> Serialize for TuneRecord<K>where
K: Serialize,
impl<K: PartialEq> StructuralPartialEq for TuneRecord<K>
Auto Trait Implementations§
impl<K> Freeze for TuneRecord<K>where
PersistentCacheKey<K>: Freeze,
impl<K> RefUnwindSafe for TuneRecord<K>where
PersistentCacheKey<K>: RefUnwindSafe,
impl<K> Send for TuneRecord<K>where
PersistentCacheKey<K>: Send,
impl<K> Sync for TuneRecord<K>where
PersistentCacheKey<K>: Sync,
impl<K> Unpin for TuneRecord<K>where
PersistentCacheKey<K>: Unpin,
impl<K> UnsafeUnpin for TuneRecord<K>where
PersistentCacheKey<K>: UnsafeUnpin,
impl<K> UnwindSafe for TuneRecord<K>where
PersistentCacheKey<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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
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