pub struct OptimizerBenchmarkResult {
pub optimizer_name: String,
pub avg_step_time: Duration,
pub min_step_time: Duration,
pub max_step_time: Duration,
pub throughput: f64,
pub avg_memory_usage: Option<usize>,
pub statistical_metrics: Option<StatisticalMetrics>,
}Fields§
§optimizer_name: String§avg_step_time: Duration§min_step_time: Duration§max_step_time: Duration§throughput: f64§avg_memory_usage: Option<usize>The optimizer’s real allocated state memory (bytes) at the end of
the run, from BenchmarkOptimizer::state_memory_bytes. None
when the optimizer kind exposes no such accessor (currently only
LAMB). Despite the field’s name this is a single end-of-run
reading, not an average of varying samples: every optimizer kind
this can measure allocates its state buffers on first touch and
never resizes them again within one benchmark run (parameter shapes
are fixed), so there is nothing that actually varies to average. An
earlier version computed a before/after delta from parameter
shapes alone (ignoring the optimizer entirely), which was
therefore always exactly 0.0 regardless of which optimizer ran.
statistical_metrics: Option<StatisticalMetrics>Trait Implementations§
Source§impl Clone for OptimizerBenchmarkResult
impl Clone for OptimizerBenchmarkResult
Source§fn clone(&self) -> OptimizerBenchmarkResult
fn clone(&self) -> OptimizerBenchmarkResult
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 moreSource§impl Debug for OptimizerBenchmarkResult
impl Debug for OptimizerBenchmarkResult
Source§impl<'de> Deserialize<'de> for OptimizerBenchmarkResult
impl<'de> Deserialize<'de> for OptimizerBenchmarkResult
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 Freeze for OptimizerBenchmarkResult
impl RefUnwindSafe for OptimizerBenchmarkResult
impl Send for OptimizerBenchmarkResult
impl Sync for OptimizerBenchmarkResult
impl Unpin for OptimizerBenchmarkResult
impl UnsafeUnpin for OptimizerBenchmarkResult
impl UnwindSafe for OptimizerBenchmarkResult
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> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
Source§fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
Save to file
Source§fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
Load from file
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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