pub struct MemoryStats {
pub total_memory: usize,
pub allocated_memory: usize,
pub available_memory: usize,
pub peak_memory: usize,
pub active_allocations: usize,
pub total_allocations: usize,
pub total_deallocations: usize,
pub fragmentation: f32,
pub efficiency: f32,
}Expand description
Memory usage statistics
Fields§
§total_memory: usizeTotal device memory in bytes
allocated_memory: usizeCurrently allocated memory in bytes
available_memory: usizeAvailable memory in bytes
peak_memory: usizePeak memory usage in bytes
active_allocations: usizeNumber of active allocations
total_allocations: usizeTotal number of allocations made
total_deallocations: usizeTotal number of deallocations made
fragmentation: f32Memory fragmentation ratio (0.0 to 1.0)
efficiency: f32Allocation efficiency (allocated / total)
Implementations§
Source§impl MemoryStats
impl MemoryStats
Sourcepub fn utilization(&self) -> f32
pub fn utilization(&self) -> f32
Calculate utilization percentage
Sourcepub fn is_under_pressure(&self) -> bool
pub fn is_under_pressure(&self) -> bool
Check if memory pressure is high
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
Auto Trait Implementations§
impl Freeze for MemoryStats
impl RefUnwindSafe for MemoryStats
impl Send for MemoryStats
impl Sync for MemoryStats
impl Unpin for MemoryStats
impl UnsafeUnpin 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 more