OpenRTM-aist  1.2.1
TimeMeasure.h
[詳解]
1 // -*- C++ -*-
20 #ifndef COIL_TIMEMEASURE_H
21 #define COIL_TIMEMEASURE_H
22 
23 #include <vector>
24 #include <coil/TimeValue.h>
25 
26 namespace coil
27 {
28 
50  {
51  public:
63  struct Statistics
64  {
65  double max_interval;
66  double min_interval;
67  double mean_interval;
68  double std_deviation;
69  };
70 
86  TimeMeasure(int buflen = 100);
87 
103  void tick();
104 
120  void tack();
121 
142 
158  void reset();
159 
179  unsigned long int count() const;
180 
210  bool getStatistics(double &max_interval,
211  double &min_interval,
212  double &mean_interval,
213  double &stddev);
214 
235 
236  private:
237  std::vector<coil::TimeValue> m_record;
238  coil::TimeValue m_begin;
239  coil::TimeValue m_interval;
240 
241  unsigned long int m_count;
242  const unsigned long int m_countMax;
243  unsigned long long int m_cpuClock;
244 
245  bool m_recurred;
246  };
247 }; // namespace coil
248 #endif // COIL_TIMEMEASURE_H
coil::TimeValue & interval()
経過時間を取得する
double min_interval
Definition: TimeMeasure.h:66
時間統計用構造体
Definition: TimeMeasure.h:63
double std_deviation
Definition: TimeMeasure.h:68
TimeValue クラス
Definition: TimeValue.h:40
void tack()
時間統計の計測を終了する
double max_interval
Definition: TimeMeasure.h:65
void reset()
統計関連データの初期化
Statistics getStatistics()
統計結果を取得する
TimeMeasure クラス
Definition: TimeMeasure.h:49
double mean_interval
Definition: TimeMeasure.h:67
void tick()
時間統計の計測を開始する
TimeMeasure(int buflen=100)
コンストラクタ
unsigned long int count() const
時間統計バッファサイズを取得する
Common Object Interface Layer.
Definition: Affinity.h:28