Callpath sensitive profiles and recursion handling
- Dominant language
- C++
- Stars
- 6
- Forks
- 11
- Avg merge
- 18h 7m
- Merged PRs (30d)
- 1
Description
It'd be great to be able to separate costs of routines according to the callpath via which they were called. Example use case: to determine the cost of halo swaps for each Physics scheme separately.
There's an [interesting paper](https://www.researchgate.net/profile/Todd-Mytkowicz/publication/221320820_Inferred_Call_Path_Profiling/links/54a178400cf256bf8baf721b/Inferred-Call-Path-Profiling.pdf?origin=publication_detail) on the web.
Essentially, I think it'd be sufficient to hash together routine names, their parent routine's name and their level in the overall call stack. This would have the added bonus that `recursive` subroutine calls would be handled automatically, since the call stack level is included. We can at least start with that and see how well it works. Whether we'd need to do any more work to disambiguate further, I don't know. A little ambiguity wouldn't hurt if the associated time is small. Just thinking this may well give us a good-enough solution with little additional runtime cost.
Contributor guide
Assessment
This issue has not been assessed yet.