31 std::cout <<
"initial capacity " << vcap << std::endl;
33 for(
int i(0); i<size; ++i) {
45 if (vold != vcap) std::cout <<
"iteration " << i <<
" new capacity " << vcap <<std::endl;
47 if (((
int)p3-(
int)p2) != ((
int)p2-(
int)p1)) cout <<
"iteration " << i <<
" new chunk @" << hex << p3 <<
" previous was @" << p2 << dec << endl;
49 std::cout <<
"iteration " << i <<
" P3 @" << hex << p3 <<
" p2 @" << p2 <<
" p1 @" << p1 << dec <<
' ' << (int)p3-(
int)p2 <<
' ' <<(int)p2-(
int)p1 <<std::endl;
54 return StatusCode::SUCCESS;
An STL vector of pointers that by default owns its pointed-to elements.
DataVector< IHit > HitPtrContainer
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
size_type capacity() const noexcept
Returns the total number of elements that the collection can hold before needing to allocate more mem...
std::map< int, IHit * > m_mixMap
Gaudi::Property< int > m_vectorSize
Property to setup the size of the Hit container.
Gaudi::Property< bool > m_mapIt
Property to introduce some fragmentation.
Gaudi::Property< int > m_2bReserved
Property to setup the amount of elements to reserve.
virtual StatusCode execute() override
Gaudi::Property< int > m_mixture
Property to set DHIT/FHIT ratio.
PerfMonTestPolyVectorAlg.h Example for the memory optimization tutorial.