[收集]计算程序的运行时间
来源:互联网 发布:域名不备案会怎么样 编辑:程序博客网 时间:2024/06/14 09:40
一、方法一
C++的库函数中,已经给我们提供了这样的方法——clock(),我们可以使用它来计算程序的运行时间,闲话少说了,开门见山:
计算程序运行时间使用的知识点:
1clock_t
2clock()
3CLOCKS_PER_SEC
这些库函数、类型和常量都是定义在ctime库中的。下面就解释一下吧!
1clock_t数据类型,其实,当你打开time.h就知道了,就是个long型,用来记录一段时间内的clocks数,即CPU的运行单元时间。
2clock()函数,返回类型clock_t,函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock),(返回的是毫秒,ms);若挂钟时间不可取,则返回-1。
3CLOCK_PER_SRC
我们若想计算程序的运行时间,则只要根据程序的入口点和出口点出都计算clocks,再算差就可以了,都是在main()中进行操作,如下:
#include <iostream>#include <time.h> //添加此头文件using namespace std; int main() { clock_t start, end; start = clock(); //省略 end = clock(); cout<<"Run time: "<<(double)(end - start) / CLOCKS_PER_SEC<<"S"<<endl; return 0;}
二、方法二
使用函数GetTickCount(#include <windows.h>),它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORD GetTickCount(void),返回值以32位的双字类型DWORD存储,因此可以存储的最大值是2-1 ms约为49.71天,因此若系统运行时间超过49.71天时,这个数就会归0,MSDN中也明确的提到了:"Retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days."。因此,如果是编写服务器端程序,此处一定要万分注意,避免引起意外的状况。
在程序前面加上
DWORD take;
take = GetTickCount();
在程序结束处加上
printf("\n%ld\n", GetTickCount() - take);
示例:
#include <iostream>#include <windows.h> //添加此头文件using namespace std;int main() {DWORD take = GetTickCount(); //在此处添加代码 printf("\n%ld\n", GetTickCount() - take);return 0;}
三、方法三
精确获取时间(QueryPerformanceCounter),函数QueryPerformanceCounter用于得到高精度计时器的值()
//这是LARGE_INTEGER结构的定义,不需要定义typedef union _LARCE_INTEGER{ struct { DWORD LowPart;// 4字节整型数 LONG HighPart;// 4字节整型数 }; LONGLONG QuadPart;//8字节整型数 }LARGE_INTEGER;
//实际程序LARGE_INTEGER litmp;LONGLONG QPart1,QPart2;//记录程序开始和结束的时间double dfMinus, dfFreq, dfTim;//QueryPerformanceFrequency(&litmp);//获得计数器的时钟频率 dfFreq=(double)litmp.QuadPart;QueryPerformanceCounter(&litmp);//获得初始值QPart1=litmp.QuadPart;/*要测试的程序*/QueryPerformanceCounter(&litmp);//获得中止值QPart2=litmp.QuadPart;dfMinus=(double)(QPart2-QPart1);//获得对应的时间值dfTim=dfMinus/dfFreq;cout<<dfTim<<endl;//结果以秒为单位
- [收集]计算程序的运行时间
- 计算程序运行的时间
- 计算程序运行的时间
- 计算程序的运行时间
- 计算程序运行的时间
- 计算程序的运行时间
- 计算程序运行的时间
- 计算程序的运行时间
- 计算程序的运行时间
- 计算程序运行时间
- 计算程序运行时间
- 程序运行时间计算
- 计算程序运行时间
- 计算程序运行时间
- 计算程序运行时间
- 计算程序运行时间
- 计算程序运行时间
- 计算程序运行时间
- 华章IT图书书讯(2011年第11期)
- ubuntu10.04+hadoop0.20.2平台配置(完全分布式模式)
- 工作中碰到netcat的一个问题
- java发送邮件,正文图片,附件
- Linux下网络安全开发包之libpcap安装全过程
- [收集]计算程序的运行时间
- 腾讯董事局主席马化腾:创业要分三步走
- webdynpro GOS BDS 文档/附件 上传下载处理
- 管理员权限运行批处理的几种方法
- linux 统计指定进程内存使用情况到文件 脚本
- 单片机两位数正计时程序
- myeclipse 10.1 破解 myeclipse 10 破解
- 如何让自己的网站权重飞升
- 隐藏DOS窗口 的方法