Skip to content

ATLASRECTS-6783 : Try to reduce the number of allocations for SiSpacePointForSeed

Try to reduce the number of allocations for SiSpacePointForSeed

This comes here

7429143 calls to allocation functions with 0B peak consumption from        
 72037 __gnu_cxx::new_allocator<>::allocate(unsigned long, void const*)                
 72038   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
 72039   in /cvmfs/atlas-nightlies.cern.ch/repo/sw/23.0_Athena_x86_64-centos7-gcc11-opt/2023-07-13T2101/Athena/23.0.37/InstallArea/x86_64-centos7-gcc11-opt/lib/libSiSpacePointsSeedTool_xk.so
 72040 std::allocator_traits<>::allocate(std::allocator<>&, unsigned long)             
 72041   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
 72042 std::__cxx11::_List_base<>::_M_get_node()                                       
 72043   at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_list.h:442
 72044 std::_List_node<>* std::__cxx11::list<>::_M_create_node<>(InDet::SiSpacePointForSeed&&)
 72045   at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_list.h:634
 72046 void std::__cxx11::list<>::_M_insert<>(std::_List_iterator<>, InDet::SiSpacePointForSeed&&)
 72047   at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_list.h:1911
 72048 InDet::SiSpacePointForSeed& std::__cxx11::list<>::emplace_back<>(InDet::SiSpacePointForSeed&&)
 72049   at /cvmfs/sft.cern.ch/lcg/releases/gcc/11.2.0-8a51a/x86_64-centos7/include/c++/11.2.0/bits/stl_list.h:1227
 72050 InDet::SiSpacePointsSeedMaker_ATLxk::newSpacePoint(InDet::SiSpacePointsSeedMakerEventData&, Trk::SpacePoint const* const&) const
 72051   at /build/atnight/localbuilds/nightlies/Athena/23.0/athena/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx:2561

And also appears in the top ones here [https://its.cern.ch/jira/secure/attachment/300289/300289_caller-callee.png] see [ATLASRECTS-6783] ping @amete

This and similar changes affect performance and also HLT performance but lets keep them only to main. If we want to back port to 23.0 we can in a later stage.

In technical notes for the one touched here we do not call clear or erase . There are others we do but this is another story when we try those .

Btw most of the other top ones should be gone btw via a string of MRs

Edited by Christos Anastopoulos

Merge request reports