I've come across this tool: https://github.com/abokhalill/lshaz#ci-integration
It claims to detect latency hazards at compile-time: struct layouts that span cache lines, atomics that trigger cross-core invalidation storms, heap allocations in hot loops, virtual dispatch that defeats branch prediction, etc.
Granted, it seems oriented towards x64, but it claims to also support arm64. In addition, it has GH workflow files to run this tool on PRs.
Given that a good chunk of this repo contains C++ code (not just headers), this may be helpful?
I've come across this tool: https://github.com/abokhalill/lshaz#ci-integration
It claims to detect latency hazards at compile-time: struct layouts that span cache lines, atomics that trigger cross-core invalidation storms, heap allocations in hot loops, virtual dispatch that defeats branch prediction, etc.
Granted, it seems oriented towards x64, but it claims to also support arm64. In addition, it has GH workflow files to run this tool on PRs.
Given that a good chunk of this repo contains C++ code (not just headers), this may be helpful?