PulseTransfer: Speed Up Processing for Large Events by Factor > x50
Use a std::set
to collect unique PropagatedCharge
references and only at the very end turn them into a vector:
- No potential re-allocation of memory when moving vector
- No need to iterate full vector,
std::set::emplace
is much more efficient
Also, reserve vector space ahead of time (minor detail).