Skip to content

Reduce heap allocations in flow and particle classes

This MR makes event generation of Examples/CI/LO_Z (which is hadron-level LO+PS 2->2) 3% faster by the following changes:

  • Store particle flows as data instead of pointers to remove the need for heap allocations. This makes event generation of Examples/CI/LO_Z 1% faster. The results are otherwise unchanged.

  • Use a fixed-size array in Flow instead of a map. The class interface is unchanged. This makes LO+PS particle-level event generation of "Examples/CI/LO_Z" 2% faster, because no allocations on the heap have to be made. The event generation result is otherwise unchanged.

Merge request reports