pub struct FullEncodeThroughput {
pub n_rows: usize,
pub encode_secs: f64,
pub rows_per_sec: f64,
pub device_encode_engaged: bool,
}Expand description
End-to-end throughput of the FULL exact per-row encode for one batch.
Distinct from ResidentSolveThroughput (which times only the inner solve):
rows_per_sec here is n_rows / encode_secs for the entire production
certified_encode_batch — routing, per-row Newton, certificate, fallback,
and the per-row reconstruction selection included.
Fields§
§n_rows: usizeRows encoded in the timed batch.
encode_secs: f64Wall-clock seconds for the full encode of the batch.
rows_per_sec: f64n_rows / encode_secs (0.0 for a degenerate / non-positive time).
device_encode_engaged: booltrue ONLY if a device-resident exact-encode kernel actually ran the
encode. No such kernel exists yet, so this is false even on a GPU host
— the flag is the false-routing guard that keeps the CPU encode rate from
ever being reported as a device measurement.
Implementations§
Source§impl FullEncodeThroughput
impl FullEncodeThroughput
Sourcepub fn from_elapsed(
n_rows: usize,
elapsed: Duration,
device_encode_engaged: bool,
) -> Self
pub fn from_elapsed( n_rows: usize, elapsed: Duration, device_encode_engaged: bool, ) -> Self
Build a throughput record from a measured elapsed time. engaged is the
caller’s honest assertion that a device-resident encode kernel produced
the result; pass false for the host encode path.
Trait Implementations§
Source§impl Clone for FullEncodeThroughput
impl Clone for FullEncodeThroughput
Source§fn clone(&self) -> FullEncodeThroughput
fn clone(&self) -> FullEncodeThroughput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for FullEncodeThroughput
Auto Trait Implementations§
impl Freeze for FullEncodeThroughput
impl RefUnwindSafe for FullEncodeThroughput
impl Send for FullEncodeThroughput
impl Sync for FullEncodeThroughput
impl Unpin for FullEncodeThroughput
impl UnsafeUnpin for FullEncodeThroughput
impl UnwindSafe for FullEncodeThroughput
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
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> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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>
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>
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