Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
clock - プロセッサ時間の取得
書式
#include <time.h> clock_t clock(void);
説明
clock() はプログラムの使用したプロセッサ時間の近似値を返す。
返り値
返り値は clock_t 単位での CPU 時間である。 秒単位での値を得るためには CLOCKS_PER_SEC で割 ればよい。 使用したプロセッサ時間が得られない場合や、その値を表現できない場合、 この関数は (clock_t) -1 を返す。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌─────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├─────────────────┼───────────────┼─────────┤ │ clock() │ Thread safety │ MT-Safe │ └─────────────────┴───────────────┴─────────┘
準拠
POSIX.1-2001, POSIX.1-2008, C89, C99. XSI は実際の精度にはよらず CLOCKS_PER_SEC が 1000000 であることを要求している。
注意
C の標準規格ではプログラムの開始の時点ではどんな値が返ってきても かまわない。 移植性を最大 限確保するためには、プログラムの開始時に clock() を呼び出してその値を差し引くこと。 時刻は桁あふれする可能性がある点に注意すること。 CLOCKS_PER_SEC が 1000000 である 32 ビッ トシステムでは、 この関数は約 72 分毎に同じ値を返すことになる。 実装によっては、 clock() で返される値に wait(2) (あるいはその他の wait のような関数) で 収集された 子プロセスの時間が含まれる場合もある。 Linux では、 clock() が返す値には wait された子プロセスの時間は含まれない。 times(2) 関数は呼び出し元とその子プロセスに関する情 報を (別々に) 明示的に返すので、より好ましいだろう。 glibc 2.17 以前では、 clock() は times(2) を使って実装されていた。 glibc 2.18 以降では、 精度を向上させるため、 clock_gettime(2) (の CLOCK_PROCESS_CPUTIME_ID クロック) を使って実 装されている。
関連項目
clock_gettime(2), getrusage(2), times(2)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。