pub struct MemoryStats {
pub total_allocations: u64,
pub cache_hits: u64,
pub cache_misses: u64,
pub peak_memory_bytes: u64,
pub current_memory_bytes: u64,
pub cleanup_operations: u64,
pub average_allocation_size: f64,
pub size_distribution: HashMap<usize, u64>,
}Expand description
Memory usage statistics for optimization
Fields§
§total_allocations: u64Total allocations requested
cache_hits: u64Cache hits (buffer reused)
cache_misses: u64Cache misses (new allocation)
peak_memory_bytes: u64Peak memory usage in bytes
current_memory_bytes: u64Current memory usage in bytes
cleanup_operations: u64Total cleanup operations
average_allocation_size: f64Average allocation size
size_distribution: HashMap<usize, u64>Buffer size distribution
Implementations§
Source§impl MemoryStats
impl MemoryStats
Sourcepub fn cache_hit_ratio(&self) -> f64
pub fn cache_hit_ratio(&self) -> f64
Calculate cache hit ratio
Sourcepub fn record_allocation(&mut self, size: usize, cache_hit: bool)
pub fn record_allocation(&mut self, size: usize, cache_hit: bool)
Update statistics for a new allocation
Sourcepub const fn record_deallocation(&mut self, size: usize)
pub const fn record_deallocation(&mut self, size: usize)
Record memory deallocation
Trait Implementations§
Source§impl Clone for MemoryStats
impl Clone for MemoryStats
Source§fn clone(&self) -> MemoryStats
fn clone(&self) -> MemoryStats
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 MemoryStats
impl Debug for MemoryStats
Source§impl Default for MemoryStats
impl Default for MemoryStats
Source§fn default() -> MemoryStats
fn default() -> MemoryStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MemoryStats
impl RefUnwindSafe for MemoryStats
impl Send for MemoryStats
impl Sync for MemoryStats
impl Unpin for MemoryStats
impl UnwindSafe for MemoryStats
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.