Skip to content

feat: replace boost::hash_combine with murmur3-mixed hashCombine#5325

Merged
kodiakhq[bot] merged 10 commits intoacts-project:mainfrom
paulgessinger:fix/boost-combine-dist
Apr 13, 2026
Merged

feat: replace boost::hash_combine with murmur3-mixed hashCombine#5325
kodiakhq[bot] merged 10 commits intoacts-project:mainfrom
paulgessinger:fix/boost-combine-dist

Conversation

@paulgessinger
Copy link
Copy Markdown
Member

Add Acts::hashCombine utility that applies the murmur3 fmix64 finalizer before boost::hash_combine, fixing poor hash distribution for small or sequential integer inputs (where std::hash is typically the identity).

  • New Core/include/Acts/Utilities/HashCombine.hpp with hashMix and hashCombine
  • Replace all 5 boost::hash_combine call sites (Barcode, RandomNumbers, TrackFindingAlgorithm, ClusterizationTests)
  • Add unit tests with collision rate checks for up to 2.5M inputs

@github-actions github-actions bot added this to the next milestone Apr 9, 2026
@github-actions github-actions bot added Component - Core Affects the Core module Component - Fatras Affects the Fatras module Component - Examples Affects the Examples module Event Data Model Clustering Track Finding labels Apr 9, 2026
@paulgessinger
Copy link
Copy Markdown
Member Author

See #5321

Add Acts::hashCombine utility that applies the murmur3 fmix64 finalizer
before boost::hash_combine, fixing poor hash distribution for small or
sequential integer inputs (where std::hash is typically the identity).

- New Core/include/Acts/Utilities/HashCombine.hpp with hashMix and hashCombine
- Replace all 5 boost::hash_combine call sites (Barcode, RandomNumbers,
  TrackFindingAlgorithm, ClusterizationTests)
- Add unit tests with collision rate checks for up to 2.5M inputs
@paulgessinger paulgessinger force-pushed the fix/boost-combine-dist branch from b56e8ae to cda4425 Compare April 9, 2026 07:06
Copy link
Copy Markdown
Contributor

@andiwand andiwand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for tackling this to swiftly!

Copy link
Copy Markdown
Contributor

@Corentin-Allaire Corentin-Allaire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me ! Thanks a lot for the quick fix.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

📊: Physics performance monitoring for 8695910

Full contents

physmon summary

@github-actions github-actions bot added Infrastructure Changes to build tools, continous integration, ... Changes Performance labels Apr 10, 2026
andiwand
andiwand previously approved these changes Apr 11, 2026
@paulgessinger paulgessinger force-pushed the fix/boost-combine-dist branch from 4e9f6cb to 91aab98 Compare April 13, 2026 07:57
@sonarqubecloud
Copy link
Copy Markdown

@kodiakhq kodiakhq bot merged commit eb77eac into acts-project:main Apr 13, 2026
42 checks passed
@andiwand andiwand modified the milestones: next, v46.2.0 Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes Performance Clustering Component - Core Affects the Core module Component - Examples Affects the Examples module Component - Fatras Affects the Fatras module Event Data Model Infrastructure Changes to build tools, continous integration, ... Track Finding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants