怎么计算某段程序所用的时间? 最近小弟做一个作业,是要比较两个算法的效率,所以要分别计算两个算法所用的时间,再进行比较。但不知道用什么方法。难道要用Timer实现?请高手们,指点指点,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DWORD begin, end; begin = GetTickCount(); //你的程序 end = GetTickCount(); DWORD timeUse = end - begin; //执行所用的毫秒数 在代码段开始的时候用GetTickCount记录一个ULONG数值在结束的时候再用GetTickCount记录一个值,两个值之差就大致是你的代码段执行时间了. 也可以:#include <time.h> clock_t start, end; start = clock(); //你的程序 end = clock(); 用高精度计数器:Details see MSDNQueryPerformanceFrequency QueryPerformanceCounter SYSTEMTIME st; \GetLocalTime(&st);用这个时间来计算吧,绝对精确,SYSTEMTIME 中有个wMilliseconds 应该够你用的了 DWORD tick = GetTickCount();.....tick = GetTickCount() - tick; 确实 GetTickCount()的精确度不够,用yjgx007的方法解决了QueryPerformanceFrequency QueryPerformanceCounter谢谢大家的回答。 动态控件响应焦点消息 差异图像捕捉!!! 【MFC】显示16进制 求类似QQ的列表样式,不要抽屉的 我是这样删除Excel数据,为什么报错 帮小弟看一个简单的问题~~在线等 定义了字节数组 BYTE a[20]如何把16进制的内容赋值 一个也许很傻的问题,在图像处理中alpha到底是什么? 求教 菜鸟问? 关于随机数的问题,谢谢帮助! 在dll中能不能封装stringtable
begin = GetTickCount();
//你的程序
end = GetTickCount();
DWORD timeUse = end - begin; //执行所用的毫秒数
在结束的时候再用GetTickCount记录一个值,两个值之差就大致是你的代码段执行时间了.
#include <time.h>
clock_t start, end;
start = clock();
//你的程序
end = clock();
QueryPerformanceFrequency
QueryPerformanceCounter
GetLocalTime(&st);
用这个时间来计算吧,绝对精确,SYSTEMTIME 中有个wMilliseconds
应该够你用的了
.....
tick = GetTickCount() - tick;
QueryPerformanceFrequency
QueryPerformanceCounter
谢谢大家的回答。