2006-09-17

不得不用Delphi2006

为了安心,做了个小测试,比较Delphi7和Delphi2006的内存操作效率。

想法:循环做一亿次申请内存块,移动内存数据,销毁内存块,比较两者时间差距。

代码:
var
s: String;
p: PChar;
i: integer;
Start: Cardinal;
begin
Start := GetTickCount;
s := '123';
for i := 0 to 100000000 do
begin
GetMem(p, 256);
Move(Pointer(s)^, p^, Length(s));
FreeMem(p);
end;
Memo1.Lines.Add(IntToStr(GetTickCount - Start));
end;

结果:
Delphi7 用时:19000 (19秒)
Delphi2006 用时:7063 (大约7秒)

两者相差接近3倍。汗一个!

没有评论: