aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl/generic_bench/timers/portable_perf_analyzer.hh
diff options
context:
space:
mode:
Diffstat (limited to 'bench/btl/generic_bench/timers/portable_perf_analyzer.hh')
-rw-r--r--bench/btl/generic_bench/timers/portable_perf_analyzer.hh16
1 files changed, 9 insertions, 7 deletions
diff --git a/bench/btl/generic_bench/timers/portable_perf_analyzer.hh b/bench/btl/generic_bench/timers/portable_perf_analyzer.hh
index d716154fd..d0fe95ce0 100644
--- a/bench/btl/generic_bench/timers/portable_perf_analyzer.hh
+++ b/bench/btl/generic_bench/timers/portable_perf_analyzer.hh
@@ -38,16 +38,16 @@ public:
MESSAGE("Portable_Perf_Analyzer Dtor");
};
-
-
BTL_DONT_INLINE double eval_mflops(int size)
{
Action action(size);
-
- double time_action = time_calculate(action);
+ double time_action = 0;
+ action.initialize();
+ time_action = time_calculate(action);
while (time_action < MIN_TIME)
{
+ //Action action(size);
_nb_calc *= 2;
action.initialize();
time_action = time_calculate(action);
@@ -56,8 +56,10 @@ public:
// optimize
for (int i=1; i<NB_TRIES; ++i)
{
- action.initialize();
- time_action = std::min(time_action, time_calculate(action));
+ Action _action(size);
+ std::cout << " " << _action.nb_op_base()*_nb_calc/(time_action*1e6) << " ";
+ _action.initialize();
+ time_action = std::min(time_action, time_calculate(_action));
}
time_action = time_action / (double(_nb_calc));
@@ -66,13 +68,13 @@ public:
action.initialize();
action.calculate();
action.check_result();
-
return action.nb_op_base()/(time_action*1000000.0);
}
BTL_DONT_INLINE double time_calculate(Action & action)
{
// time measurement
+ action.calculate();
_chronos.start();
for (int ii=0;ii<_nb_calc;ii++)
{