c语言程序计算,C语言--计算程序执行时间

C语言–计算程序执行时间

1. gettimeofday

精度1us

#include

#include

int main()

{

/* 定义两个结构体 */

struct timeval start;

struct timeval end;

unsigned long timer;

/* 程序开始之前计时start */

gettimeofday(&start, NULL);

printf("hello world!\n");

/* 程序块结束后计时end */

gettimeofday(&end, NULL);

/* 统计程序段运行时间(unit is usec)*/

timer = 1000000 * (end.tv_sec - start.tv_sec) + end.tv_usec - start.tv_usec;

printf("timer = %ld us\n", timer);

return 0;

}

输出结果:

$ ./time

hello world!

timer = 47 us

2. clock

精度能达到1us

#include

#include

#include

int main()

{

clock_t begin, end;

double cost;

//开始记录

begin = clock();

/*待测试程序段*/

printf("hello world!\n");

//结束记录

end = clock();

cost = (double)(end - begin)/CLOCKS_PER_SEC;

printf("constant CLOCKS_PER_SEC is: %ld, time cost is: %lf secs", CLOCKS_PER_SEC, cost);

}

输出结果www.cdxsxbx.com

$ ./time hello world!constant CLOCKS_PER_SEC is: 1000000, time cost is: 0.000042 secs3. time命令$ time ls0.00s user 0.00s system 0% cpu 0.001 totaluser时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。 sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。 total指进程时间之和。精度1ms

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值