Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::impl::MemoryPool::Impl
+ Graphe de collaboration de Arcane::impl::MemoryPool::Impl:

Classes

class  AllocatedMap
 Tableau associatif des pointeurs alloués et la taille associée. Plus de détails...
 
class  FreedMap
 Tableau associatif des emplacements mémoire libres par taille. Plus de détails...
 

Fonctions membres publiques

 Impl (IMemoryPoolAllocator *allocator, const String &name)
 
voidallocateMemory (size_t size)
 
void freeMemory (void *ptr, size_t size)
 
void dumpStats (std::ostream &ostr)
 
void dumpFreeMap (std::ostream &ostr)
 
void setMaxCachedBlockSize (size_t v)
 
void freeCachedMemory ()
 

Attributs publics

IMemoryPoolAllocatorm_allocator = nullptr
 
AllocatedMap m_allocated_map
 
FreedMap m_free_map
 Liste des allocations libres dans le cache.
 
std::atomic< size_t > m_total_allocated = 0
 
std::atomic< size_t > m_total_free = 0
 
std::atomic< Int32 > m_nb_cached = 0
 
std::atomic< Int32 > m_nb_no_cached = 0
 
size_t m_max_memory_size_to_pool = 1024 * 64 * 4 * 4
 
String m_name
 

Fonctions membres privées

void _freeMemory (void *ptr)
 
void _addAllocated (void *ptr, size_t size)
 

Description détaillée

Définition à la ligne 34 du fichier MemoryPool.cc.

Documentation des constructeurs et destructeur

◆ Impl()

Arcane::impl::MemoryPool::Impl::Impl ( IMemoryPoolAllocator allocator,
const String name 
)
inlineexplicit

Définition à la ligne 196 du fichier MemoryPool.cc.

◆ ~Impl()

Arcane::impl::MemoryPool::Impl::~Impl ( )
inline

Définition à la ligne 207 du fichier MemoryPool.cc.

Documentation des fonctions membres

◆ _addAllocated()

void Arcane::impl::MemoryPool::Impl::_addAllocated ( void ptr,
size_t  size 
)
private

Définition à la ligne 286 du fichier MemoryPool.cc.

◆ allocateMemory()

void * Arcane::impl::MemoryPool::Impl::allocateMemory ( size_t  size)

Définition à la ligne 247 du fichier MemoryPool.cc.

◆ dumpFreeMap()

void Arcane::impl::MemoryPool::Impl::dumpFreeMap ( std::ostream &  ostr)

Définition à la ligne 313 du fichier MemoryPool.cc.

◆ dumpStats()

void Arcane::impl::MemoryPool::Impl::dumpStats ( std::ostream &  ostr)

Définition à la ligne 296 du fichier MemoryPool.cc.

◆ freeCachedMemory()

void Arcane::impl::MemoryPool::Impl::freeCachedMemory ( )

Définition à la ligne 333 du fichier MemoryPool.cc.

◆ freeMemory()

void Arcane::impl::MemoryPool::Impl::freeMemory ( void ptr,
size_t  size 
)

Définition à la ligne 270 du fichier MemoryPool.cc.

◆ setMaxCachedBlockSize()

void Arcane::impl::MemoryPool::Impl::setMaxCachedBlockSize ( size_t  v)

Définition à la ligne 322 du fichier MemoryPool.cc.

Documentation des données membres

◆ m_allocated_map

AllocatedMap Arcane::impl::MemoryPool::Impl::m_allocated_map

Définition à la ligne 228 du fichier MemoryPool.cc.

◆ m_allocator

IMemoryPoolAllocator* Arcane::impl::MemoryPool::Impl::m_allocator = nullptr

Définition à la ligne 226 du fichier MemoryPool.cc.

◆ m_free_map

FreedMap Arcane::impl::MemoryPool::Impl::m_free_map

Liste des allocations libres dans le cache.

Définition à la ligne 230 du fichier MemoryPool.cc.

◆ m_max_memory_size_to_pool

size_t Arcane::impl::MemoryPool::Impl::m_max_memory_size_to_pool = 1024 * 64 * 4 * 4

Définition à la ligne 235 du fichier MemoryPool.cc.

◆ m_name

String Arcane::impl::MemoryPool::Impl::m_name

Définition à la ligne 236 du fichier MemoryPool.cc.

◆ m_nb_cached

std::atomic<Int32> Arcane::impl::MemoryPool::Impl::m_nb_cached = 0

Définition à la ligne 233 du fichier MemoryPool.cc.

◆ m_nb_no_cached

std::atomic<Int32> Arcane::impl::MemoryPool::Impl::m_nb_no_cached = 0

Définition à la ligne 234 du fichier MemoryPool.cc.

◆ m_total_allocated

std::atomic<size_t> Arcane::impl::MemoryPool::Impl::m_total_allocated = 0

Définition à la ligne 231 du fichier MemoryPool.cc.

◆ m_total_free

std::atomic<size_t> Arcane::impl::MemoryPool::Impl::m_total_free = 0

Définition à la ligne 232 du fichier MemoryPool.cc.


La documentation de cette classe a été générée à partir du fichier suivant :