Skip to content

Custom allocator/memory pool in HLT1

Olli Lupton requested to merge olupton_custom_allocators into master

This introduces a custom allocator and fast event-local memory pool and uses it to remove [almost] all dynamic [de]allocation in HLT1 algorithms. See more details in this presentation.

With the full set of changes the speedup is around 3.4% when running only the reconstruction, or 4.7% when selections are included.

The "core" changeset in the group of MRs is quite small, but to see the full benefit more files have to be touched. We could choose to break it up into smaller pieces, or drop changes to specific algorithms, if that's helpful.

As-is does not depend on gaudi/Gaudi!1026 (merged) (but once that is merged some duplication could be removed, and there are compile-time switches in this MR that, if flipped, need gaudi/Gaudi!1026 (merged)).

cc: @graven @nnolte @sstahl @ahennequ

Edited by Rosen Matev

Merge request reports