|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
Auxilliary class. More...
#include <TimerForSequencer.h>

Public Member Functions | |
| TimerForSequencer (std::string name, double factor) | |
| Constructor. | |
| ~TimerForSequencer () | |
| void | start () |
| Start a time measurement. | |
| double | stop () |
| Stop time measurement and return the last elapsed time. | |
| std::string | name () const |
| returns the name | |
| double | lastTime () const |
| returns the last measured time | |
| double | lastCpu () const |
| returns the last measured time | |
| MsgStream & | fillStream (MsgStream &s) const |
| Write measured time into the message stream. | |
Static Public Member Functions | |
| static std::string | header (std::string::size_type size) |
| header matching the previous format | |
Private Attributes | |
| std::string | m_name |
| double | m_factor |
| longlong | m_startClock |
| longlong | m_startCpu |
| long | m_num |
| double | m_lastTime |
| double | m_lastCpu |
| double | m_min |
| double | m_max |
| double | m_sum |
| double | m_sumCpu |
Auxilliary class.
Measure the time between start and stop, and compute average, min and max. In fact, measure the cpu time, and the elapsed time but givesmin/max only for elapsed.
Definition at line 14 of file TimerForSequencer.h.
| TimerForSequencer::TimerForSequencer | ( | std::string | name, |
| double | factor | ||
| ) | [inline] |
Constructor.
Specify the name, for later printing.
Definition at line 19 of file TimerForSequencer.h.
{
m_name = name;
m_num = 0L;
m_min = 0.;
m_max = 0.;
m_sum = 0.;
m_sumCpu = 0.;
m_factor = factor;
m_lastTime = 0.;
m_lastCpu = 0.;
m_startClock = 0LL;
m_startCpu = 0LL;
}
| TimerForSequencer::~TimerForSequencer | ( | ) | [inline] |
Definition at line 33 of file TimerForSequencer.h.
{};
Write measured time into the message stream.
Definition at line 79 of file TimerForSequencer.h.
| static std::string TimerForSequencer::header | ( | std::string::size_type | size ) | [inline, static] |
header matching the previous format
Definition at line 94 of file TimerForSequencer.h.
{
if ( size < 21 ) size = 21;
std::string blank( size - 20, ' ' );
std::string s = "Algorithm" + blank + "(millisec) | <user> | <clock> |";
s += " min max | entries | total (s) |";
return s;
}
| double TimerForSequencer::lastCpu | ( | ) | const [inline] |
returns the last measured time
Definition at line 76 of file TimerForSequencer.h.
{ return m_lastCpu; }
| double TimerForSequencer::lastTime | ( | ) | const [inline] |
returns the last measured time
Definition at line 73 of file TimerForSequencer.h.
{ return m_lastTime; }
| std::string TimerForSequencer::name | ( | ) | const [inline] |
| void TimerForSequencer::start | ( | ) | [inline] |
Start a time measurement.
Definition at line 36 of file TimerForSequencer.h.
| double TimerForSequencer::stop | ( | ) | [inline] |
Stop time measurement and return the last elapsed time.
Definition at line 44 of file TimerForSequencer.h.
{
double cpuTime = double(System::cpuTime( System::microSec ) - m_startCpu );
double lastTime = double(System::currentTime( System::microSec ) - m_startClock );
//== Change to normalized millisecond
cpuTime *= m_factor;
lastTime *= m_factor;
//== Update the counter
m_num += 1;
m_sum += lastTime;
m_sumCpu += cpuTime;
if ( 1 == m_num ) {
m_min = lastTime;
m_max = lastTime;
} else {
if ( lastTime < m_min ) m_min = lastTime;
if ( lastTime > m_max ) m_max = lastTime;
}
m_lastTime = lastTime;
m_lastCpu = cpuTime;
return lastTime;
}
double TimerForSequencer::m_factor [private] |
Definition at line 104 of file TimerForSequencer.h.
double TimerForSequencer::m_lastCpu [private] |
Definition at line 110 of file TimerForSequencer.h.
double TimerForSequencer::m_lastTime [private] |
Definition at line 109 of file TimerForSequencer.h.
double TimerForSequencer::m_max [private] |
Definition at line 112 of file TimerForSequencer.h.
double TimerForSequencer::m_min [private] |
Definition at line 111 of file TimerForSequencer.h.
std::string TimerForSequencer::m_name [private] |
Definition at line 103 of file TimerForSequencer.h.
long TimerForSequencer::m_num [private] |
Definition at line 108 of file TimerForSequencer.h.
longlong TimerForSequencer::m_startClock [private] |
Definition at line 105 of file TimerForSequencer.h.
longlong TimerForSequencer::m_startCpu [private] |
Definition at line 106 of file TimerForSequencer.h.
double TimerForSequencer::m_sum [private] |
Definition at line 113 of file TimerForSequencer.h.
double TimerForSequencer::m_sumCpu [private] |
Definition at line 114 of file TimerForSequencer.h.