pub struct PoolStatistics {
pub total_allocations: usize,
pub total_deallocations: usize,
pub current_usage: usize,
pub peak_usage: usize,
pub capacity: usize,
pub growth_count: usize,
pub allocation_failures: usize,
}Available on crate feature
stats only.Expand description
Statistics about pool usage and performance.
§Examples
#[cfg(feature = "stats")]
{
use fastalloc::FixedPool;
let pool = FixedPool::<i32>::new(100).unwrap();
let _h1 = pool.allocate(1).unwrap();
let _h2 = pool.allocate(2).unwrap();
let stats = pool.statistics();
assert_eq!(stats.current_usage, 2);
assert_eq!(stats.total_allocations, 2);
}Fields§
§total_allocations: usizeTotal number of allocations ever made
total_deallocations: usizeTotal number of deallocations ever made
current_usage: usizeCurrent number of allocated objects
peak_usage: usizePeak number of simultaneously allocated objects
capacity: usizeCurrent capacity of the pool
growth_count: usizeNumber of times the pool has grown (for growing pools)
allocation_failures: usizeNumber of allocation failures
Implementations§
Source§impl PoolStatistics
impl PoolStatistics
Sourcepub fn new(capacity: usize) -> Self
pub fn new(capacity: usize) -> Self
Creates a new statistics instance with all counters at zero.
Sourcepub fn utilization_rate(&self) -> f64
pub fn utilization_rate(&self) -> f64
Returns the utilization rate as a percentage (0.0 to 100.0).
Sourcepub fn peak_utilization_rate(&self) -> f64
pub fn peak_utilization_rate(&self) -> f64
Returns the peak utilization rate as a percentage (0.0 to 100.0).
Trait Implementations§
Source§impl Clone for PoolStatistics
impl Clone for PoolStatistics
Source§fn clone(&self) -> PoolStatistics
fn clone(&self) -> PoolStatistics
Returns a duplicate of the value. Read more
1.0.0 · 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 PoolStatistics
impl Debug for PoolStatistics
Source§impl<'de> Deserialize<'de> for PoolStatistics
impl<'de> Deserialize<'de> for PoolStatistics
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
Source§impl Display for PoolStatistics
impl Display for PoolStatistics
Source§impl PartialEq for PoolStatistics
impl PartialEq for PoolStatistics
Source§impl Serialize for PoolStatistics
impl Serialize for PoolStatistics
impl Copy for PoolStatistics
impl Eq for PoolStatistics
impl StructuralPartialEq for PoolStatistics
Auto Trait Implementations§
impl Freeze for PoolStatistics
impl RefUnwindSafe for PoolStatistics
impl Send for PoolStatistics
impl Sync for PoolStatistics
impl Unpin for PoolStatistics
impl UnwindSafe for PoolStatistics
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