TRT/Pixel/SCT Overlay.cxx reserve the vectors in copyCollection
TRT/Pixel/SCT Overlay.cxx reserve the vectors in copyCollection
Due to these (_M_realloc_insert
)
1464 6998732 calls to allocation functions with 2.71M peak consumption from
1465 __gnu_cxx::new_allocator<>::allocate(unsigned long, void const*)
1466 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/ext/new_allocator.h:127
1467 in /cvmfs/atlas-nightlies.cern.ch/repo/sw/23.0_Athena_x86_64-centos7-gcc11-opt/2023-04-07T2101/Athena/23.0.24/InstallArea/x86_64-centos7-gcc11-opt/lib/libInDetOverlay.so
1468 std::allocator_traits<>::allocate(std::allocator<>&, unsigned long)
1469 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/alloc_traits.h:460
1470 std::_Vector_base<>::_M_allocate(unsigned long)
1471 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_vector.h:346
1472 void std::vector<>::_M_realloc_insert<>(__gnu_cxx::__normal_iterator<>, TRT_RDORawData* const&)
1473 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/vector.tcc:440
1474 2316375 calls with 951.84K peak consumption from:
1475 std::vector<>::push_back(TRT_RDORawData* const&)
1476 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_vector.h:1198
1477 in /cvmfs/atlas-nightlies.cern.ch/repo/sw/23.0_Athena_x86_64-centos7-gcc11-opt/2023-04-07T2101/Athena/23.0.24/InstallArea/x86_64-centos7-gcc11-opt/lib/libInDetOverlay.so
1478 DataVector<>::push_back(TRT_RDORawData*)
1479 at /build/atnight/localbuilds/nightlies/Athena/23.0/athena/Control/AthContainers/AthContainers/DataVector.icc:2864
1480 std::unique_ptr<> Overlay::copyCollection<>(IdentifierHash const&, InDetRawDataCollection<> const*)
1481 at /build/atnight/localbuilds/nightlies/Athena/23.0/athena/InnerDetector/InDetRawAlgs/InDetOverlay/src/TRTOverlay.cxx:45
3248 3406184 calls to allocation functions with 2.03M peak consumption from
3249 __gnu_cxx::new_allocator<>::allocate(unsigned long, void const*)
3250 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/ext/new_allocator.h:127
3251 in /cvmfs/atlas-nightlies.cern.ch/repo/sw/23.0_Athena_x86_64-centos7-gcc11-opt/2023-04-07T2101/Athena/23.0.24/InstallArea/x86_64-centos7-gcc11-opt/lib/libInDetOverlay.so
3252 std::allocator_traits<>::allocate(std::allocator<>&, unsigned long)
3253 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/alloc_traits.h:460
3254 std::_Vector_base<>::_M_allocate(unsigned long)
3255 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_vector.h:346
3256 void std::vector<>::_M_realloc_insert<>(__gnu_cxx::__normal_iterator<>, SCT_RDORawData* const&)
3257 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/vector.tcc:440
3258 1653305 calls with 815.65K peak consumption from:
3259 std::vector<>::push_back(SCT_RDORawData* const&)
3260 at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_vector.h:1198
3261 in /cvmfs/atlas-nightlies.cern.ch/repo/sw/23.0_Athena_x86_64-centos7-gcc11-opt/2023-04-07T2101/Athena/23.0.24/InstallArea/x86_64-centos7-gcc11-opt/lib/libInDetOverlay.so
3262 DataVector<>::push_back(SCT_RDORawData*)
3263 at /build/atnight/localbuilds/nightlies/Athena/23.0/athena/Control/AthContainers/AthContainers/DataVector.icc:2864
3264 std::unique_ptr<> Overlay::copyCollection<>(IdentifierHash const&, InDetRawDataCollection<> const*)
3265 at /build/atnight/localbuilds/nightlies/Athena/23.0/athena/InnerDetector/InDetRawAlgs/InDetOverlay/src/SCTOverlay.cxx:32
Perhaps the real question for num of allocation is if we really really need to deep copy these ?
i.e do we need OWN
as now or could live with VIEW
?
I would assume they have to be deep copies but if not there is a significant gain to be had in number of new .
The inputs actually is what I think we POOL
ed last week so the deep copy is not nice also in this respect .
Edited by Christos Anastopoulos