如何计算一段程序的运行时间
要对程序进行时间复杂度分析,本来用
clock_t start, end;
start = clock();
程序代码
end = clock();
end-start就是时间了,但是时间很短,经常为0,所以想请问有没有更好的办法
问题点数:20、回复次数:3Top
1 楼stonespace(stonespace)回复于 2002-11-29 18:43:16 得分 10
放大1000被:
clock_t start, end;
start = clock();
for(i=0;i<1000;i++)
{
程序代码
}
end = clock();
或者用:
DWORD dwBegin=GetTickCount();
for(i=0;i<1000;i++)
{
程序代码
}
DWORD dwEnd=GetTickCount();
Top
2 楼brownbull(布朗巴尔)回复于 2002-11-29 19:14:44 得分 10
用以下代码:
SYSTEMTIME begintime,endtime,passtime;
GetLocalTime(&begintime);
//你要计算时间的代码
GetLocalTime(&endtime);
passtime=endtime-endtime;
passtime即为所过的时间,单位为毫秒。
Top
3 楼chenhequn(鹤)回复于 2002-11-29 20:24:01 得分 0
还是不行,毫秒太大了,有没有更小的啊,比如微秒等,用毫秒都是0,偶尔有一个10ms出来Top




