C语言编程 计算程序运行时间 精确到微秒

在开发过程中有时候需要计算一段代码运行所消耗的时间 ,使用函数gettimeofday就可以实现,并且可以精确到毫秒

 

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

需要包含的头文件:#include <sys/time.h>

 

入参:

1、入参tv : 它是 结构体struct timeval (在<sys/time.h>定义) ,详细结构为

           struct timeval {
               time_t      tv_sec;     /* 秒 */
               suseconds_t tv_usec;    /* 微秒 */
           };

结构体定time_t定义在头文件<time.h>中,typedef long     time_t;    /* 时间值time_t 为长整型的别名*/

结构体suseconds_t 定义是也是:      long

 

2、入参tz:该参数已经废弃 ,填入NULL即可

 

贴一段代码:

#define SECOND_TO_MRCROSECOND          (1000000)

 

    struct timeval tStart,tEnd;    //驼峰命令,变量保存程序开始时间,和结束时间     
    float timeElapse;                 //变量保存程序耗费时间


    gettimeofday(&tStart,NULL);  //记录程序开始时间

  

 

// 插入需要计算时间的代码

 


        
    gettimeofday(&tEnd,NULL);    // 记录程序结束时间


    timeElapse = tEnd.tv_usec-tStart.tv_usec + SECOND_TO_MRCROSECOND*(tEnd.tv_sec-tStart.tv_sec);    // 以微秒来计数
  


    printf("Function Elapse Time:%f s\n",timeElapse/ SECOND_TO_MRCROSECOND);  //


 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值