先頭へ戻る

clock | Programming Place Plus C言語編 標準ライブラリのリファレンス

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

clock関数

概要

使用したプロセッサ時間を取得する。

ヘッダ

time.h

形式

clock_t clock(void);

引数

なし

戻り値

使用したプロセッサ時間。取得できなかった場合は、-1 を clock_t型でキャストした値が返される。

詳細

実行中のプログラムが、起動されてから現在に至るまでに使用したプロセッサ時間を取得する。途中で他のプログラムに割り込まれた場合、その間に経過した時間は含まれないのが普通である。
返される値は、環境に応じて異なる単位で表現され、CLOCKS_PER_SECマクロの値で割ることによって、秒単位に変換できる。

注意

取得できる値は環境によって精度は異なる。また、実際の精度よりも細かい単位で結果を返す環境もあり得る。例えば、実際には 1ms の精度しか取得できなくても、1μs 単位の結果を返すかもしれない。
clock_t型は、何らかの算術型を typedef したものであり、やはり環境によって異なる。この型の大きさによっては、表現できるプロセッサ時間の範囲が非常に狭いかもしれない。

使用例

#include <stdio.h>
#include <time.h>

int main(void)
{
    clock_t begin, end;
    int i;

    begin = clock();
    for( i = 0; i < 10000000; ++i ){
    }
    end = clock();

    printf( "result: %f seconds\n", (double)(end - begin) / CLOCKS_PER_SEC ); 

    return 0;
}

実行結果:

result: 0.026000 seconds

関連

解説章

第51章


参考リンク


------------------------------------------------------------------------

更新履歴

'2018/4/6 全体的に文章を見直して修正。

'2018/1/22 新規作成。


------------------------------------------------------------------------

標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー