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

被折叠的 条评论
为什么被折叠?



