您的位置:首页 > 编程语言 > C语言/C++

测试程序运行时间

2008-01-07 15:04 267 查看
测试程序运行时间
ACM题目大都有规定运行时间的,

那么我们如何测得程序运行时间呢?

这就得益于C++函数库time.h

下面是一段示范代码:

#include<iostream>
#include<time.h>
using namespace std;
int main()
{
       long beginTime =clock();//获得开始时间,单位为毫秒

       for(int i=0;i<10000;i++){cout<<i<<endl;}//输出10000行数字

       long endTime=clock();//获得结束时间

      cout<<"beginTime:"<<beginTime<<endl
             <<"endTime:"<<endTime<<endl
             <<"endTime-beginTime:"<<endTime-beginTime<<endl;

       return 0;


//这是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;//结果以秒为单位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  测试 integer struct c++