summaryrefslogtreecommitdiff
path: root/ace/High_Res_Timer.i
blob: e0fddd118d8500cee2c71ecc1ffe2c9e0a142341 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* -*- C++ -*- */
// $Id$

// High_Res_Timer.i

#if defined (ACE_HAS_HI_RES_TIMER)

ACE_INLINE
ACE_High_Res_Timer::ACE_High_Res_Timer (void)
{
  ACE_TRACE ("ACE_High_Res_Timer::ACE_High_Res_Timer");
  this->reset ();
}

ACE_INLINE void 
ACE_High_Res_Timer::start (void)
{
  ACE_TRACE ("ACE_High_Res_Timer::start");
  this->start_ = ACE_OS::gethrtime ();
}

ACE_INLINE void 
ACE_High_Res_Timer::stop (void)
{
  ACE_TRACE ("ACE_High_Res_Timer::stop");
  this->end_ = ACE_OS::gethrtime ();
}

ACE_INLINE void 
ACE_High_Res_Timer::start_incr (void)
{
  ACE_TRACE ("ACE_High_Res_Timer::start_incr");
  this->temp_ = ACE_OS::gethrtime ();
}

ACE_INLINE void 
ACE_High_Res_Timer::stop_incr (void)
{
  ACE_TRACE ("ACE_High_Res_Timer::stop_incr");
#if defined (ACE_HAS_LONGLONG_T)
  this->total_ += (ACE_OS::gethrtime () - this->temp_);
#else
# error must have ACE_HAS_LONGLONG_T with ACE_HAS_HI_RES_TIMER
#endif /* ACE_HAS_LONGLONG_T */
}

ACE_INLINE unsigned long
ACE_High_Res_Timer::get_time (void) const
{
  return (this->end_ - this->start_) / 1000;
}

#endif /* ACE_HAS_HI_RES_TIMER */