MetOffice / MetOffice/Vernier

Proper calculation of percent time

Open
#84 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.