如何在delphi7中,测试一段代码的执行时间?

procedure(........................)vartime:Cardinal;begintime:=GetTickCount;//begin的下... procedure (........................)
var
time: Cardinal;
begin
time := GetTickCount;//begin的下一行
需要测试的代码。。。。。。。。。。。。。
time := GetTickCount - time;//end的上一行
end;
但是侧不出来值,要不是值是那种随机数,要不就是time没有值,能说下,具体用法?什么环境中才能测吗?
展开
 我来答
坏葱巡h
2011-08-31 · 超过24用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:65.5万
展开全部
给你个最简单的方法
放一个 timer控件 一个edit edit默认内容0 然后双击timer控件 timer1.interval=1000; 1000毫秒执行一次 =1秒执行一次
procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit1.Text:=inttostr(strtoint(edit1.Text)+1);
end;
默认timer1.enabled:=fales;
需要记时的时候timer1.enabled:=true;
需要停止的时候 timer1.enabled:=fales;
没有编译器 应该没问题
edti1里的内容就是运行时间啦 很简单的一个原理 有不会+QQ448912 希望给分
yusheng628
2011-08-31 · 超过16用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:54.3万
展开全部
随机数?那不就是执行时间么?单位是毫秒。
代码没有问题,要不就GetTickCount精准度还不够,可以适当增加测试的代码,或者用CPU时间戳,这个精度更高。反正最终返回的time就是所花的时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朕欲摆驾香港
2015-10-20 · TA获得超过1773个赞
知道小有建树答主
回答量:1445
采纳率:0%
帮助的人:982万
展开全部
BeginCount,Endcount,StartCount:Cardinal;
BeginCount:=GetTickCount;{获取系统启动的时间} 
//执行的代码
Endcount:=GetTickCount;
F('分词耗时' + IntToStr(Endcount - BeginCount) + '毫秒');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gk_wei
2011-08-31 · TA获得超过1730个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:442万
展开全部
这个用法没有问题,可能是你的被测试代码修改了time的值了,gettickcount是可以测到毫秒的,应该能满足要求。如果你的待测代码时间太短,有可能测出来是0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8a627e7
2015-09-24 · TA获得超过304个赞
知道小有建树答主
回答量:705
采纳率:50%
帮助的人:464万
展开全部
代码开始时读取当前tick值,gettickcount64,结束再取一次gettickcount64,相减就可以知道执行时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式