Linux算时差方法

文章通过示例代码展示了如何利用Linux系统调用gettimeofday来计算一个循环(cntTime函数)执行100000次的耗时。gettimeofday用于获取当前时间,结果存储在timeval结构体中,包括秒和微秒。代码在全志H616平台上进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要用于程序运行时的效率比较

函数原型

#include <sys/time.h>

int gettimeofday(struct timeval *tv,struct timezone *tz)

gettimeofday()函数会产生一个和 格林威治时间的差值 ,它会把目前时间用tv结构体返回,当地时区则放在tz结构体中

struct timeval
{
    long tv_sec;/*毫秒*/
    long tv_usec;/*微妙*/
}

测试代码:

 #include <stdio.h>
  2 #include <sys/time.h>
  3
  4 void cntTime(){
  5     for(int i=0;i<100;i++){
  6         for(int j=0;j<1000;j++);
  7     }
  8 }
  9
 10 int main(){
 11     struct timeval timestart;
 12     struct timeval timestop;
 13
 14     gettimeofday(&timestart,NULL);
 15     cntTime();
 16     gettimeofday(&timestop,NULL);
 17     long time=1000000*(timestop.tv_sec-timestart.tv_sec)+(timestop.tv_usec-timestart.tv_usec);
 18     printf("h616数100000次一共:运行了%ld\n",time);
 19 }

这个是基于全志H616的运行测试代码,记录跑100000次的用时

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值