clock()与gettimeofday()

目录

1.clock()

2.gettimeofday()----linux C函数


 

 

1.clock()

是C标准库<time.h>中的函数

声明为:clock_t clock(void)

功能:创建程序进程到clock()函数被调用之间的cpu时钟计时单位数,即硬件滴答数。可通过下面的CLOCKS_PER_SEC换算成秒。

返回值类型为clock_t,clock_t是用来保存时间的数据类型,typedef long clock_t,其实就是一个长整型。

常量CLOCKS_PER_SEC,他表示一秒钟有多少个时钟计时单位,定义为:#define CLOCK_PER_SEC ((clock_t)1000)。

clock()函数的返回值除以CLOCKS_PER_SEC,即可得到创建程序进程到clock()函数被调用用了多少秒。

clock()函数的精度是ms(毫秒)。

用法:

    clock_t start,end;  

    start = clock();  

    //…executing…  

    end = clock();  
 
    printf("Used time=%f\n",(double)(end-start)/CLOCKS_PER_SEC); 

 

2.gettimeofday()----linux C函数

头文件:sys/time.h

函数原型:int gettimeofday(struct timeval *tv,struct timezone *tz);

说明:其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果(若不使用则传入NULL即可)。

timeval的定义为:

 struct timeval {  

  long tv_sec; // 秒数  

     long tv_usec; //微秒数  

}  

可见该函数可用于在linux中获得微秒精度的时间。

用法:

    struct timeval start,end;  

    gettimeofday(&start, NULL );  

    //…executing…  

    gettimeofday(&end, NULL );  

    double timeuse = ( end.tv_sec - start.tv_sec ) + (end.tv_usec - start.tv_usec)/1000000.0;  

    printf("time=%f\n",timeuse);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值