pub struct MemoryPool {
pub size: usize,
pub free_blocks: Vec<MemoryBlock>,
pub allocated_blocks: Vec<MemoryBlock>,
pub pool_type: MemoryPoolType,
}Expand description
Memory pool for GPU with different types and allocation strategies
Fields§
§size: usizePool size
free_blocks: Vec<MemoryBlock>Free blocks
allocated_blocks: Vec<MemoryBlock>Allocated blocks
pool_type: MemoryPoolTypePool type
Implementations§
Source§impl MemoryPool
impl MemoryPool
Sourcepub fn new(size: usize, pool_type: MemoryPoolType) -> Self
pub fn new(size: usize, pool_type: MemoryPoolType) -> Self
Create a new memory pool
Sourcepub fn utilization(&self) -> f64
pub fn utilization(&self) -> f64
Get pool utilization percentage
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MemoryPool
impl RefUnwindSafe for MemoryPool
impl Send for MemoryPool
impl Sync for MemoryPool
impl Unpin for MemoryPool
impl UnsafeUnpin for MemoryPool
impl UnwindSafe for MemoryPool
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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