计算程序执行的时间

1.这个是windows里面经常使用来计算程序执行时间的函数。
DWORD dwStart = GetTickCount();
//这里执行你的程序代码
DWORD dwEnd = GetTickCount();
则(dwEnd-dwStart)就是你的程序执行时间, 以毫秒为单位

这个函数仅仅精确到55ms,1个tick就是55ms。


#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char* argv[])
{
DWORD start, end;

start = GetTickCount();
for(int i=0;i<1000;i++)
cout<<"you are a good child!"<<endl;   //your code
end = GetTickCount()-start;
cout<<end<<endl;
    return 0;
}

2
timeGetTime()基本等于GetTickCount(),可是精度更高
DWORD dwStart = timeGetTime();

//这里执行你的程序代码

DWORD dwEnd = timeGetTime();

则(dwEnd-dwStart)就是你的程序执行时间, 以毫秒为单位
尽管返回的值单位应该是ms,但传说精度仅仅有10ms。

#include <iostream>
#include <windows.h>
#pragma comment(lib,"winmm.lib")

using namespace std;
int main(int argc, char* argv[])
{
DWORD start, end;

start = timeGetTime();
for(int i=0;i<100;i++)
cout<<"you are a good child!"<<endl;
end = timeGetTime()-start;
cout<<end<<endl;
    return 0;
}

3
用clock()函数。得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就能够换成“秒”。标准c函数。
clock_t clock ( void );

#include <time.h>
clock_t t = clock();
long sec = t / CLOCKS_PER_SEC;
他是记录时钟周期的,实现看来不会非常精确,须要试验验证;

#include<iostream>
#include<ctime> //<time.h>
using   namespace   std;
int   main()
{
    time_t   begin,end;

    double duration;
    begin=clock();
    //这里加上你的代码
    end=clock();

    duration=double(end-begin)/CLOCKS_PER_SEC;
    cout<<"runtime:   "<<duration<<endl;
}

posted @ 2017-06-30 11:22  wzjhoutai  阅读(647)  评论(0编辑  收藏  举报