C语言–计算程序执行时间
1. gettimeofday
精度1us

#include<stdio.h>
#include<sys/time.h>

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 <stdio.h>
#include <stdlib.h>
#include <time.h>

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 secs

3. time命令
$ time ls
0.00s user 0.00s system 0% cpu 0.001 total

user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。
sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。
total指进程时间之和。精度1ms

最新文章

  1. linux下共享库的注意点之-fpic
  2. c++中的&lt;&lt;函义
  3. 《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》
  4. PyMySQL Evaluation
  5. 【转】C#(ASP.Net)获取当前路径的方法集合
  6. url中的百分号转译
  7. Nginx-Lua重定向系列
  8. mvc area区域和异步表单,bootstrap简单实例
  9. html中调用silverlight中的方法
  10. grep匹配某个次出现的次数
  11. ubuntu文档保存出现的一些错误
  12. Linux shell read 解析
  13. chapter4 module and port
  14. SpringMVC默认欢迎页面的问题
  15. 关于H5页面在iPhoneX适配(转)
  16. 黄聪:jquery+Datatables出现数据过长,表格不自动换行,columns设置width失效的办法
  17. jquery的$(document).ready()与js的window.onload区别
  18. Selenium(ThoughtWorks公司开发的web自动化测试工具)
  19. Visual Studio 2017 系统发布部署服务器教程
  20. Java实例---简单的数据库操作

热门文章

  1. Python通过pymysql连接数据库并进行查询和更新SQL方法封装
  2. R-6 线性回归模型流程
  3. 在vue-cli3中使用axios获取本地json
  4. 08. Go 语言包(package)
  5. 备用APC队列
  6. js|jq获取兄弟节点,父节点,子节点
  7. layui table 分页 序号始终从”1“开始解决方法
  8. ES6-对象赋值,key值得构建,is()方法对比对象,assign()合并对象
  9. oracle产销存的写法
  10. 使用adb命令操控Android手机(adb命令)