EVC++4.0中获取毫秒级计时器

本文通过使用Windows API中的性能计数器来测量一段特定代码的执行时间。该代码主要涉及了一个包含地理坐标点对象的动态数组的创建过程,并展示了如何计算运行时间(以秒为单位)。此外,还提供了一些关于频率、开始时间和结束时间的信息。

//#include <winbase.h>
//#include <mmsystem.h>
//#include <winnt.h>

 

LARGE_INTEGER BegainTime ;     
    LARGE_INTEGER EndTime ;     
    LARGE_INTEGER Frequency ;     
    QueryPerformanceFrequency(&Frequency);     
    QueryPerformanceCounter(&BegainTime) ;     
   
    //要测试的代码放在这里    

  CArrayList<CGeoPoint* ,CGeoPoint*> list1;
 for (int i=1;i<50;i+=6)
 {
  double j,k;
  TransformTool::ViewToMap(i,i*i,j,k);
  CGeoPoint *p = new CGeoPoint(j,k);
  list1.AddTail(p);
 }
//
 //DWORD t2 = timeGetTime();
 //DWORD k2 = GetTickCount();
// s.Format(L"run time:Tick:%u,Time:%u",k2-k,1);
// MessageBox(s);
 long lsize = sizeof(list1);

 Sleep(500);
    QueryPerformanceCounter(&EndTime);    
   s.Format(L"Freq(单位:ci):%f,High%f,low:%f",((double) Frequency.QuadPart),((double) Frequency.HighPart),(double) Frequency.LowPart); MessageBox(s);
   s.Format(L"bengain):%u", (double) BegainTime.LowPart ); MessageBox(s);
   s.Format(L"endtime:%u",(double)  EndTime.LowPart ); MessageBox(s);
   
   
     s.Format(L"运行时间(单位:次):%f",(double)((double) EndTime.QuadPart - (double) BegainTime.QuadPart));MessageBox(s); MessageBox(s);
    //输出运行时间(单位:s)     
    s.Format(L" 运行时间(单位:秒):%f",(double)(((double) EndTime.QuadPart -(double) BegainTime.QuadPart)*1000.0 /(double) Frequency.QuadPart));  
 MessageBox(s);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值