专业编程基础技术教程

网站首页 > 基础教程 正文

C++用clock()统计程序运行时间时需要注意的地方

ccvgpt 2024-10-19 03:25:29 基础教程 10 ℃


在统计某段程序或某个算法的运行时间时,经常会用到clock()函数。如下图所示。

C++用clock()统计程序运行时间时需要注意的地方

其中,clock()是C/C++中的计时函数,与其相关的数据类型是clock_t,头文件是time.h/ctime。

clock()函数的功能是:返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元数(clock tick)。

在C/C++中,定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元。

clock_t是长整型 long,返回的是整形,通常要以转换成浮点数类型。

使用clock()统计程序运行时间时,需要注意的地方:

  • clock()函数测量的是处理器的CPU时间,而不是实际的时间,当使用sleep()函数时,是不会统计sleep的时间的,即clock算出的时间比实际的时间少一些,如下图所示:
  • clock()函数测量的是处理器的CPU时间,而不是实际的时间,当开启多线程的时候,就会发现使用clock算出的时间比实际的时间多了一些。

所以,若希望得到实际的时间,可以使用time()和difftime()函数,详见:

C函数time和clock的计时区别

Tags:

最近发表
标签列表