clock() — プロセッサー時間の判別
フォーマット
#include <time.h>
clock_t clock(void);
言語レベル
ANSI
スレッド・セーフ
はい
説明
clock() 関数は、プログラムが使用したプロセッサー時間の概算を戻します。プロセス呼び出しに関連した、実装定義の時間枠の開始以降の経過時間です。 秒単位の時間を取得するには、clock() で戻された値をマクロ CLOCKS_PER_SEC の値で割ります。
戻り値
プロセッサー時間の値が使用できないか、表示できない場合は、clock() 関数は値 (clock_t)-1 を戻します。
プログラムで使用された時間を測るには、プログラムの先頭で clock() を呼び出し、その戻り値を、その後の clock() の呼び出しで戻った値から減算してください。他のプラットフォームでは、clock() 関数をいつも信頼することはできません。system() 関数の呼び出しがクロックをリセットする可能性があるからです。
例
次の例は、プログラムが呼び出されてから経過した時間を出力します。
#include <time.h>
#include <stdio.h>
double time1, timedif; /* use doubles to show small values */
int main(void)
{
int i;
time1 = (double) clock(); /* get initial time */
time1 = time1 / CLOCKS_PER_SEC; /* in seconds */
/* running the FOR loop 10000 times */
for (i=0; i<10000; i++);
/* call clock a second time */
timedif = ( ((double) clock()) / CLOCKS_PER_SEC) - time1;
printf("The elapsed time is %lf seconds¥n", timedif);
}