pub struct Timing { /* private fields */ }Expand description
Accumulates wait time separately from total elapsed time, so a caller can
report CPU as elapsed - wait.
“CPU” here means “not waiting”: neither on a host call nor for a task to finish. Each task thread keeps its own timing, so with ADR 0008’s thread per task the separation is a concurrency measurement — one task’s CPU work and another’s wait are recorded against different contexts and can overlap in wall-clock time, which is what ADR 0001 asks a trace to make attributable. It is also why the two no longer sum to the run’s elapsed time: several tasks can be waiting at once.
Implementations§
Auto Trait Implementations§
impl Freeze for Timing
impl RefUnwindSafe for Timing
impl Send for Timing
impl Sync for Timing
impl Unpin for Timing
impl UnsafeUnpin for Timing
impl UnwindSafe for Timing
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