C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス clock

🔧 時間 ・ time.h ・ C89

clock の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

clock_t clock(void);

どんな関数か

プログラム開始からのCPU使用時間をclock_t型で取得する。実際の経過時間(壁時計時間)ではなくCPU時間である点に注意し、CLOCKS_PER_SECで割って秒に変換して使う。 プログラムの実行速度を比較するベンチマークコードの冒頭と末尾でよく呼び出される計測用の関数。

使用例

#include <time.h>
#include <stdio.h>
int main(void) {
    clock_t start = clock();
    for (volatile int i = 0; i < 1000000; i++) {}
    clock_t end = clock();
    printf("%f sec\n", (double)(end - start) / CLOCKS_PER_SEC);
    return 0;
}

つまずきやすい注意点

⚠️ マルチスレッドや入出力待ちの時間はCPU時間に含まれないため、体感の処理時間とはずれることがある。

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

clock と一緒に使う関数

time現在のカレンダー時刻をtime_t型(多くの処理系で1970年1月1日からの経過秒数)で取得する。引数にポインタを渡すと… difftime2つのtime_t値の差を秒数(double型)で計算する。time_t同士を直接引き算する処理系依存のコードより移植性…

同じ分類(時間)の関数

difftime localtime mktime time timespec_get

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る