Skip to content

SCT_RawDataContainerCnv_p4: use pool to avoid many small allocations

In heapTrack of 100 ttbar events one sees

4467 17133768 calls to allocation functions with 20.18M peak consumption from        
  4468 std::_MakeUniq<>::__single_object std::make_unique<>()                          
  4469   at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/unique_ptr.h:962
  4470   in /cvmfs/atlas-nightlies.cern.ch/repo/sw/23.0_Athena_x86_64-centos7-gcc11-opt/2023-03-31T2101/Athena/23.0.23/InstallArea/x86_64-centos7-gcc11-opt/lib/libInDetEventAthenaPool.so
  4471 SCT_RawDataContainerCnv_p4::persToTrans(SCT_RawDataContainer_p4 const*, InDetRawDataContainer<>*, MsgStream&)
  4472   at /build/atnight/localbuilds/nightlies/Athena/23.0/athena/InnerDetector/InDetEventCnv/InDetEventAthenaPool/src/SCT_RawDataContainerCnv_p4.cxx:157
  4473 17133768 calls with 20.18M peak consumption from:                               

Try to use pool in order to avoid ~ 200k allocation per event

Edited by Christos Anastopoulos

Merge request reports