C++代码阅读碎知识1->clock_t 用法总结

clock_t 用法总结

参考:

blog.csdn.net/zx3517288

blog.csdn.net/wy_bk/art

1.0 定义

#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif

clock_t是一个长整形数。

在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:

#define CLOCKS_PER_SEC ((clock_t)1000)

clock()返回单位是毫秒。如果想返用秒为单位可以用

duration = (finish - start) / CLOCKS_PER_SEC;


2.0 clock()函数

clock()函数

头文件:#include<time.h>或者#include<ctime>

作用:返回处理器调用某个进程或函数所花费的时间。函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数. 数据类型:clock_t,实际上是long 返回值类型:返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。


3.0 用法示例

使用clock()计算程序中一个函数运行耗时的模板

#include <stdio.h>
#include <time.h//导入 clock() 函数的头文件.

clock_t start, stop//定义记录开始和结束时间的变量.
//clock_t 是 clock() 函数的返回变量类型.

double duration//记录函数运行时间, 单位为秒.

int main(){
    start=clock();
     //记录自 main() 函数被执行开始到本次 clock() 被调用一共走过了多少个 ticks.
    MyFunction();//要进行计时的目标函数. 
    stop=clock();
//记录自 main() 函数被执行开始到本次 clock() 被调用一共走过了多少个 ticks.
    duration=((double)(stop-start))/CLOCKS_PER_SEC;
    //将时钟打点数转换成人类可以直观感知的时间秒数.  
    
   // 不在测试范围内的操作写在这里, 例如输出 duration 的数值的操作等.
    
    return 0;
}
编辑于 2021-07-20 22:07