Arcane  v4.1.1.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)
 
void * allocateMemory (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< Int32m_nb_cached = 0
 
std::atomic< Int32m_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 36 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 192 du fichier MemoryPool.cc.

◆ ~Impl()

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

Définition à la ligne 203 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 282 du fichier MemoryPool.cc.

◆ allocateMemory()

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

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

◆ dumpFreeMap()

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

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

◆ dumpStats()

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

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

◆ freeCachedMemory()

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

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

◆ freeMemory()

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

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

◆ setMaxCachedBlockSize()

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

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

Documentation des données membres

◆ m_allocated_map

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

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

◆ m_allocator

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

Définition à la ligne 222 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 226 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 231 du fichier MemoryPool.cc.

◆ m_name

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

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

◆ m_nb_cached

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

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

◆ m_nb_no_cached

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

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

◆ m_total_allocated

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

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

◆ m_total_free

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

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


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