Class DynamicPool¶
- Defined in File DynamicPool.hpp
Inheritance Relationships¶
Base Type¶
public umpire::strategy::AllocationStrategy
(Class AllocationStrategy)
Class Documentation¶
-
class
DynamicPool
: public umpire::strategy::AllocationStrategy¶ Simple dynamic pool for allocations.
This AllocationStrategy uses Simpool to provide pooling for allocations of any size. The behavior of the pool can be controlled by two parameters: the initial allocation size, and the minimum allocation size.
The initial size controls how large the first piece of memory allocated is, and the minimum size controls the lower bound on all future chunk allocations.
Public Functions
-
DynamicPool
(const std::string &name, int id, Allocator allocator, const std::size_t min_initial_alloc_size = (512 * 1024 * 1024), const std::size_t min_alloc_size = (1 * 1024 * 1024))¶ Construct a new DynamicPool.
- Parameters
name
: Name of this instance of the DynamicPool.id
: Id of this instance of the DynamicPool.min_initial_alloc_size
: The minimum size of the first allocation the pool will make.min_alloc_size
: The minimum size of all future allocations.
-
void *
allocate
(size_t bytes)¶ Allocate bytes of memory.
- Return
- Pointer to start of allocated bytes.
- Parameters
bytes
: Number of bytes to allocate.
-
void
deallocate
(void *ptr)¶ Free the memory at ptr.
- Parameters
ptr
: Pointer to free.
-
long
getCurrentSize
()¶ Get current (total) size of the allocated memory.
This is the total size of all allocation currently ‘live’ that have been made by this AllocationStrategy object.
- Return
- Current total size of allocations.
-
long
getHighWatermark
()¶ Get the high watermark of the total allocated size.
This is equivalent to the highest observed value of getCurrentSize.
- Return
- High watermark allocation size.
-
long
getActualSize
()¶ Get the current amount of memory allocated by this allocator.
Note that this can be larger than getCurrentSize(), particularly if the AllocationStrategy implements some kind of pooling.
- Return
- The total size of all the memory this object has allocated.
-
Platform
getPlatform
()¶ Get the platform associated with this AllocationStrategy.
The Platform distinguishes the appropriate place to execute operations on memory allocated by this AllocationStrategy.
- Return
- The platform associated with this AllocationStrategy.
-
std::string
getName
() Get the name of this AllocationStrategy.
- Return
- The name of this AllocationStrategy.
-
int
getId
() Get the id of this AllocationStrategy.
- Return
- The id of this AllocationStrategy.
Protected Attributes
-
std::string
m_name
-
int
m_id
-