Skip to content
Snippets Groups Projects

GeneratorObjects: Avoid atomic operations on shared_ptr.

Merged Scott Snyder requested to merge ssnyder/athena:cvgenpart.GeneratorObjects-20231019 into main

Atomic operations on shared_ptr turn out to be surprisingly expensive. Rework HepMcParticleLink to use CachedValue rather than holding an atomic shared_ptr. We can avoid having HepMcParticleLink increase in size by declaring the CachedValue as no_unique_address. Then m_evtColl can occupy the trailing padding of the CachedValue.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading