pub struct RcStats {
pub increments: u64,
pub decrements: u64,
pub deallocations: u64,
pub elided_increments: u64,
pub elided_decrements: u64,
pub inplace_mutations: u64,
pub copy_on_write: u64,
pub peak_rc: u32,
}Expand description
Statistics about reference counting operations.
Fields§
§increments: u64Total number of RC increments.
decrements: u64Total number of RC decrements.
deallocations: u64Total number of deallocations (rc reached 0).
elided_increments: u64Total number of elided increments.
elided_decrements: u64Total number of elided decrements.
inplace_mutations: u64Total number of in-place mutations (unique owner).
copy_on_write: u64Total number of copy-on-write operations.
peak_rc: u32Peak reference count observed.
Implementations§
Source§impl RcStats
impl RcStats
Sourcepub fn record_inc(&mut self)
pub fn record_inc(&mut self)
Record an RC increment.
Sourcepub fn record_dec(&mut self)
pub fn record_dec(&mut self)
Record an RC decrement.
Sourcepub fn record_dealloc(&mut self)
pub fn record_dealloc(&mut self)
Record a deallocation.
Sourcepub fn record_elided_inc(&mut self)
pub fn record_elided_inc(&mut self)
Record an elided increment.
Sourcepub fn record_elided_dec(&mut self)
pub fn record_elided_dec(&mut self)
Record an elided decrement.
Sourcepub fn record_inplace_mutation(&mut self)
pub fn record_inplace_mutation(&mut self)
Record an in-place mutation.
Sourcepub fn record_cow(&mut self)
pub fn record_cow(&mut self)
Record a copy-on-write operation.
Sourcepub fn update_peak(&mut self, rc: u32)
pub fn update_peak(&mut self, rc: u32)
Update the peak RC if necessary.
Sourcepub fn total_elided(&self) -> u64
pub fn total_elided(&self) -> u64
Total elided operations.
Sourcepub fn elision_ratio(&self) -> f64
pub fn elision_ratio(&self) -> f64
Elision ratio.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RcStats
impl RefUnwindSafe for RcStats
impl Send for RcStats
impl Sync for RcStats
impl Unpin for RcStats
impl UnsafeUnpin for RcStats
impl UnwindSafe for RcStats
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