From 0e6c403d54b815b8179eb1e0b46833e006e92573 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Fri, 23 Dec 2016 10:21:47 +0100 Subject: [PATCH] Only write times if they are non-zero --- bin/calculate_floprate.py | 2 +- dune/perftool/common/timer.hh | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/bin/calculate_floprate.py b/bin/calculate_floprate.py index 49b31361..88f77a2d 100644 --- a/bin/calculate_floprate.py +++ b/bin/calculate_floprate.py @@ -9,7 +9,7 @@ def parse_data(): ops = frame[frame.what != "time"] # Here we should take 'min', but right now there are some zeroes written - timedata = time.groupby(('exec', 'kernel'))['value'].max() + timedata = time.groupby(('exec', 'kernel'))['value'].min() opsdata = ops.groupby(('exec', 'kernel'))['value'].max() return timedata, opsdata diff --git a/dune/perftool/common/timer.hh b/dune/perftool/common/timer.hh index 8f46c8a5..159d9c5c 100644 --- a/dune/perftool/common/timer.hh +++ b/dune/perftool/common/timer.hh @@ -71,12 +71,14 @@ #ifdef ENABLE_COUNTER -#define DUMP_TIMER(name,os,reset) \ - os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ +#define DUMP_TIMER(name,os,reset)\ + if (HP_TIMER_ELAPSED(name) > 1e-12) \ + os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ HP_TIMER_OPCOUNTERS(name).reportOperations(os,exec,#name,reset); #define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) \ - os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ + if (HP_TIMER_ELAPSED(name) > 1e-12) \ + os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ time += HP_TIMER_ELAPSED(name); \ ops += HP_TIMER_OPCOUNTERS(name); \ HP_TIMER_OPCOUNTERS(name).reportOperations(os,exec,#name,reset); @@ -84,11 +86,13 @@ #elif defined ENABLE_HP_TIMERS #define DUMP_TIMER(name,os,reset) \ - os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ + if (HP_TIMER_ELAPSED(name) > 1e-12) \ + os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ if (reset) HP_TIMER_RESET(name); #define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) \ - os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ + if (HP_TIMER_ELAPSED(name) > 1e-12) \ + os << exec << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ time += HP_TIMER_ELAPSED(name); \ if (reset) HP_TIMER_RESET(name); -- GitLab