![]() |
NEURON
|
#include <memory_usage.hpp>
Public Member Functions | |
MemoryUsageSummary (const MemoryUsage &memory_usage) | |
Public Attributes | |
size_t | required {} |
Data that are part of the algorithm. More... | |
size_t | convenient {} |
Any memory that's (currently) required to run NEURON. More... | |
size_t | oversized {} |
Wasted memory due to the difference of size and capacity . More... | |
size_t | leaked {} |
Essentially leaked memory. More... | |
Private Member Functions | |
void | add (size_t &accumulator, const VectorMemoryUsage &increment) |
void | add (const StorageMemoryUsage &increment) |
void | add (const ModelMemoryUsage &model) |
void | add (const cache::ModelMemoryUsage &model) |
Definition at line 142 of file memory_usage.hpp.
|
inline |
Definition at line 170 of file memory_usage.hpp.
|
inlineprivate |
Definition at line 192 of file memory_usage.hpp.
|
inlineprivate |
Definition at line 187 of file memory_usage.hpp.
|
inlineprivate |
Definition at line 182 of file memory_usage.hpp.
|
inlineprivate |
Definition at line 177 of file memory_usage.hpp.
size_t neuron::container::MemoryUsageSummary::convenient {} |
Any memory that's (currently) required to run NEURON.
This includes things like the live stable identifiers in each soa
, the cache::Model
and similar things that are needed to implement NEURON correctly, but are not required by the simulation.
This category covers memory that needed to solve a computer science problem rather than a neuroscience problem. Hence, this category could potentially be optimized. It's not obvious how much this category can be optimized.
Definition at line 157 of file memory_usage.hpp.
size_t neuron::container::MemoryUsageSummary::leaked {} |
Essentially leaked memory.
The current implementation doesn't know when it's safe to delete stable identifiers. Hence, when the owning identifier is deallocated the stable identifier is kept alive and leaked into a global collector.
Definition at line 168 of file memory_usage.hpp.
size_t neuron::container::MemoryUsageSummary::oversized {} |
Wasted memory due to the difference of size
and capacity
.
Definition at line 160 of file memory_usage.hpp.
size_t neuron::container::MemoryUsageSummary::required {} |
Data that are part of the algorithm.
Definition at line 144 of file memory_usage.hpp.