码迷,mamicode.com
首页 > 其他好文 > 详细

计算程序执行的时间

时间:2017-06-30 12:29:28      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:毫秒级   rac   margin   标准   pos   应该   padding   round   tracking   

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;
}

计算程序执行的时间

标签:毫秒级   rac   margin   标准   pos   应该   padding   round   tracking   

原文地址:http://www.cnblogs.com/wzjhoutai/p/7098016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!