Skip to content

algo: Add PODAllocator and PODVector.

Felix Weiglhofer requested to merge fweig/cbmroot:pod-vector into master

Adds definitions for PODAllocator and PODVector. PODAllocator is a allocator that doesn't initialize the underlying memory. This can greatly improve the performance of std::vector when working with trivial data types where memory initialization is not always required. This is in particular for the parallel Unpacker, where the initial vector::resize makes up 80% of the runtime.

These types should be part of algo. However they also have to be used by CbmDigiData. So they are defined in core/base with Cbm-prefix and also have typedefs in cbm::algo namespace instead.

MR should be ready from my side. However these are pretty wideranging changes. So I wanted to discuss them in the Online meeting before removing the draft tag.

Edited by Felix Weiglhofer

Merge request reports