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: u64
Total allocations requested
cache_hits: u64
Cache hits (buffer reused)
cache_misses: u64
Cache misses (new allocation)
peak_memory_bytes: u64
Peak memory usage in bytes
current_memory_bytes: u64
Current memory usage in bytes
cleanup_operations: u64
Total cleanup operations
average_allocation_size: f64
Average 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 fn record_deallocation(&mut self, size: usize)
pub 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.