clock

Section: C Library Functions (3)
Updated: 2026-02-08
Index JM Home Page
 

名前

clock - プロセッサ時間の取得  

ライブラリ

標準 C ライブラリ (libc, -lc)  

書式

#include <time.h>

clock_t clock(void);
 

説明

clock() はプログラムの使用したプロセッサ時間の近似値を返します。  

返り値

返り値は clock_t 単位での CPU 時間です。秒単位での値を得るためには CLOCKS_PER_SEC で割ります。使用したプロセッサ時間が得られない場合や、その値を表現できない場合、この関数は (clock_t) -1 を返します。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照してください。
インターフェース 属性 値
clock() Thread safety MT-Safe
 

バージョン

XSI は実際の精度にはよらず CLOCKS_PER_SEC が 1000000 であることを要求しています。

実装によっては、 clock() で返される値に wait(2) (あるいはその他の wait のような関数) で収集された 子プロセスの時間が含まれる場合もあります。Linux では、 clock() が返す値には wait された子プロセスの時間は含まれません。 times(2) 関数は呼び出し元とその子プロセスに関する情報を (別々に) 明示的に返すので、より好ましいと言えます。  

標準

C11, POSIX.1-2008.  

履歴

POSIX.1-2001, C89.

glibc 2.17 以前では、 clock() は times(2) を使って実装されていました。glibc 2.18 以降では、精度を向上させるため、 clock_gettime(2) (の CLOCK_PROCESS_CPUTIME_ID クロック) を使って実装されています。  

注意

C の標準規格ではプログラムの開始の時点ではどんな値が返ってきてもかまいません。移植性を最大限確保するためには、プログラムの開始時に clock() を呼び出してその値を差し引いてください。

時刻は桁あふれする可能性がある点に注意してください。CLOCKS_PER_SEC が 1000000 である 32 ビットシステムでは、この関数は約 72 分毎に同じ値を返すことになります。  

関連項目

clock_gettime(2), getrusage(2), times(2)

関連キーワード

clock   プロセッサ   精度   wait   gettime   ライブラリ   近似値   返り値   用語   allbox   インターフェース   属性   Thread   実際   収集   明示   向上   クロック   規格   時点   移植性   最大限   確保   ビット

Linux マニュアル 一覧

関連するコマンド・関数

clock_getcpuclockid.3   clock_getres.2   clock_settime.2   clock_gettime.2   vdso.7   time.7
 

Index

名前
ライブラリ
書式
説明
返り値
属性
バージョン
標準
履歴
注意
関連項目

This document was created by man2html, using the manual pages.
Time: 23:31:54 GMT, October 24, 2026