Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf: Cache particle hypothesis #3151

Merged
merged 2 commits into from
Apr 29, 2024

Conversation

andiwand
Copy link
Contributor

It's not possible to make these compile time constants if we want to share the constants with ParticleData but we can make them runtime constants.

It looks like the findMass / findCharge calls got more expensive after #2908 but I don't see a reason to optimize them after keeping caching the hypothesis.

@andiwand andiwand added this to the next milestone Apr 28, 2024
@github-actions github-actions bot added Component - Core Affects the Core module Event Data Model labels Apr 28, 2024
@AJPfleger AJPfleger self-requested a review April 28, 2024 09:34
@andiwand
Copy link
Contributor Author

andiwand commented Apr 29, 2024

Note that the CKF speedup is an artifact of the VectorTrackContainer calling ParticleHypothesis::pion() very frequently resulting in a bunch of linear searches inside the ParticleDataTable. This is not a general CKF performance improvement.

image

@kodiakhq kodiakhq bot merged commit 94ce634 into acts-project:main Apr 29, 2024
51 checks passed
@andiwand andiwand deleted the perf-cache-particle-hypothesis branch April 29, 2024 15:25
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
It's not possible to make these compile time constants if we want to share the constants with `ParticleData` but we can make them runtime constants.

It looks like the `findMass` / `findCharge` calls got more expensive after acts-project#2908 but I don't see a reason to optimize them after keeping caching the hypothesis.
@andiwand andiwand modified the milestones: next, v35.0.0 May 17, 2024
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
It's not possible to make these compile time constants if we want to share the constants with `ParticleData` but we can make them runtime constants.

It looks like the `findMass` / `findCharge` calls got more expensive after acts-project#2908 but I don't see a reason to optimize them after keeping caching the hypothesis.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants