Proper calculation of percent time
- Dominant language
- C++
- Stars
- 6
- Forks
- 11
- Avg merge
- 18h 7m
- Merged PRs (30d)
- 1
Description
The "% Time" column of the DrHook output format is calculated using the highest total walltime out of all the profiled regions. This is only valid if there are a pair of callipers encompassing the entire program.
DrHook tries to get around this by taking a note of the time at the first and last calls. We could implement something similar wherein we record the time between the profiler constructor and the final call to `Profiler::stop` but then we are making assumptions about where the constructor is called and it also becomes hard to take overhead into account.
Contributor guide
Research direction
Start by tracing how the DrHook "% Time" value is calculated and where the profiler constructor and Profiler::stop calls define the available timing data. Review how profiling overhead is represented before choosing a calculation, then define tests or representative calliper layouts that establish the expected percentage and confirm the result when no calliper spans the whole program.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100