linux下统计程序/函数运行时间(转)
一. 使用time 命令
例如编译一个hello.c文件
#gcc hello.c -o hello
生成了hello可执行文件,此时统计该程序的运行时间便可以使用如下命令
#time ./hello
在程序运行结束后便会显示出所需时间
real 0m2.913s
user 0m0.012s
sys 0m0.508s
二. 使用clock()
函数统计
1 #include<stdio.h> 2 #include <time.h> /*要包含的头文件*/ 3 4 int main(int argc, char *argv[]) 5 { 6 /* Init */ 7 clock_t start, end; 8 start = clock(); /*记录起始时间*/ 9 10 printf("time calc test\n"); 11 /* 12 * 13 * 14 * 函数进行的一些列操作 15 * 16 * */ 17 18 /* Final Status */ 19 end = clock(); /*记录结束时间*/ 20 { 21 double seconds =(double)(end - start)/CLOCKS_PER_SEC; 22 fprintf(stderr, "Use time is: %.8f\n", seconds); 23 } 24 return 0; 25 }
运行结果:
# time ./helloTest time calc test Use time is 0.00003100 real 0m0.003s user 0m0.000s sys 0m0.000s
CLOCKS_PER_SEC
用于将clock()函数的结果转化为以秒为单位的量
三. 优缺点对比
time命令在不修改代码的情况下记录程序运行时间,但是,从上面对比可看出time命令统计的结果比较粗糙。
另外,time命令,统计的结果包涵程序加载和退出的时间。因此,若想得出函数运行时间较为准确的结果,建议使用clock()函数。
若想了解整个项目中各个函数的运行时间,以期获得性能提升,建议使用——开源工具
联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2015-08-22 ->和.的区别
2015-08-22 poj3984迷宫问题 广搜+最短路径+模拟队列