函数
<ctime>

clock

clock_t clock (void);
时钟程序
返回程序消耗的处理器时间。

返回的值以时钟周期(clock ticks)表示,这是一个恒定但系统特定的时间单位(每秒有 CLOCKS_PER_SEC时钟周期)。

clock 用作参考的纪元(epoch)因系统而异,但它与程序的执行相关(通常是其启动时间)。要计算程序的实际处理时间,应将 clock 返回的值与先前调用同一函数返回的值进行比较。

参数



返回值

自与特定程序执行相关的某个纪元以来经过的时钟周期数。

失败时,该函数返回 -1

clock_t 是在 <ctime> 中定义的一种类型,作为基本算术类型的别名。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* clock example: frequency of primes */
#include <stdio.h>      /* printf */
#include <time.h>       /* clock_t, clock, CLOCKS_PER_SEC */
#include <math.h>       /* sqrt */

int frequency_of_primes (int n) {
  int i,j;
  int freq=n-1;
  for (i=2; i<=n; ++i) for (j=sqrt(i);j>1;--j) if (i%j==0) {--freq; break;}
  return freq;
}

int main ()
{
  clock_t t;
  int f;
  t = clock();
  printf ("Calculating...\n");
  f = frequency_of_primes (99999);
  printf ("The number of primes lower than 100,000 is: %d\n",f);
  t = clock() - t;
  printf ("It took me %d clicks (%f seconds).\n",t,((float)t)/CLOCKS_PER_SEC);
  return 0;
}

输出

Calculating...
The number of primes lower than 100,000 is: 9592
It took me 143 clicks (0.143000 seconds).


数据竞争

并发调用此函数是安全的,不会导致数据竞争。

异常 (C++)

无异常保证:此函数从不抛出异常。

另见