龙空技术网

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

算法集市 605

前言:

现时各位老铁们对“c语言计时器clock用法”大概比较关注,你们都需要分析一些“c语言计时器clock用法”的相关资讯。那么小编在网摘上搜集了一些有关“c语言计时器clock用法””的相关知识,希望咱们能喜欢,姐妹们一起来了解一下吧!

在统计某段程序或某个算法的运行时间时,经常会用到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的计时区别

标签: #c语言计时器clock用法