linux下统计程序/函数运行时间
2015-07-27 16:55
597 查看
如果只是初步统计或比较各函数的运行时间,可以用以下方法,若是想详细统计项目中各个函数时间,建议使用第三方工具
生成了hello可执行文件,此时统计该程序的运行时间便可以使用如下命令
在程序运行结束后便会显示出所需时间
二. 使用
另外,time命令,统计的结果包涵程序加载和退出的时间。因此,若想得出函数运行时间较为准确的结果,建议使用clock()函数。
若想了解整个项目中各个函数的运行时间,以期获得性能提升,建议使用——开源工具
一. 使用time 命令
例如编译一个hello.c文件#gcc hello.c -o hello
生成了hello可执行文件,此时统计该程序的运行时间便可以使用如下命令
#time ./hello
在程序运行结束后便会显示出所需时间
real 0m2.913s user 0m0.012s sys 0m0.508s
二. 使用clock()
函数统计
#include<stdio.h> #include <time.h> /*要包含的头文件*/ int main(int argc, char *argv[]) { /* Init */ clock_t start, end; start = clock(); /*记录起始时间*/ printf("time calc test\n"); /* * * * 函数进行的一些列操作 * * */ /* Final Status */ end = clock(); /*记录结束时间*/ { double seconds =(double)(end - start)/CLOCKS_PER_SEC; fprintf(stderr, "Use time is: %.8f\n", seconds); } return 0; } 运行结果: # 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()函数。
若想了解整个项目中各个函数的运行时间,以期获得性能提升,建议使用——开源工具
相关文章推荐
- 10 篇对初学者和专家都有用的 Linux 命令教程
- 设计模式之行为型模式 - 调用行为的传递问题
- linux mknod命令与磁盘对应一例
- 通晓网络测试常用命令
- FTP命令大全
- Netsh.exe 工具和命令行开关说明
- 细看网络仿真工具
- set 命令特殊用法
- PowerShell重启服务命令Restart-Service详细介绍
- Netsh 命令备份和恢复网络设置
- DOS命令全集(一)
- dos 日期时间格式设置使用小结(Date和Time)
- 批处理中使用系统路径的命令
- 使用BAT一句话命令实现快速合并JS、CSS
- 三个有用的 Switch 命令
- 写批处理必备的一些命令参数使用技巧
- win运行字符命令
- 详解SQL Server 2008工具SQL Server Profiler
- Powershell小技巧之使用WS-Man来调用PowerShell命令