バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.


RWTimer

形式

#include <rw/timer.h>
RWTimer timer;

説明

このクラスは、CPU 経過時間 (ユーザー使用分) を測定できるクラスです。タイマーには、実行中と休止中の 2 つの状態があります。タイマーは、作成またはリセットした後、"実行" 状態にある時間の合計を測定します。

タイマーは、メンバー関数 start() を呼び出して "実行" 状態に入り、stop() を呼び出して "休止" 状態に入ります。RWTimer はシステムに依存する関数 clock() を使用します。この関数は初めて呼び出されたときからの "ティック" 数を返します。この結果 RWTimer は、システムに依存する特定の値より長い間隔を計測できません。(たとえば、いくつかの UNIX システムでは、この値は 36 分よりやや少ない値です。)

接続性

なし

次の例は、5 秒間ループしている間 (クラス RWTime で測定) の CPU 使用時間の合計を出力するものです。

#include <rw/timer.h>
#include <rw/rwtime.h>
#include <rw/rstream.h>

main()
{RWTimer t;
 t.start();                 // タイマーを開始する

 RWTime start;
 start.now();               // 開始時刻を記録する

 // 5 秒間ループする
 for (RWTime current; current.seconds() - start.seconds() < 5;
      current = RWTime::now())
 {;}

 t.stop();                  // タイマーを停止する

 cout << t.elapsedTime() << endl;
 return 0;
}

プログラム出力 (正確な時間とは異なるかもしれない):

5.054945

公開コンストラクタ

RWTimer();

新しいタイマーを作成します。タイマーは、start() を呼び出すまで開始しません。

公開メンバー関数

double
elapsedTime() const;

タイマーが実行状態にある間、累積された (CPU) 時間の合計を返します。

void
reset();

タイマーをリセット (および休止) します。

void
start();

タイマーを "実行" 状態に設定します。実行状態にある間、時間が累積されます。

void
stop();

タイマーを "休止" 状態に設定します。この状態にある間、時間は累積されません。