Oma*_*bal 8 delphi performance
我在Delphi上测试了几个基准测试片段,如下所示:
uses
..., Diagnostics;
procedure TForm2.Button1Click(Sender: TObject);
var
i,elapsed: integer;
stopwatch: TStopwatch;
ff: textfile;
begin
if FileExists('c:\bench.txt') then
DeleteFile('c:\bench.txt');
stopwatch := TStopwatch.create;
stopwatch.Reset;
stopwatch.Start;
AssignFile(ff,'c:\bench.txt');
Rewrite(ff);
for I := 1 to 999000 do
write(ff,'Delphi programmers are ladies men :D');
CloseFile(ff);
stopwatch.Stop;
elapsed := stopwatch.ElapsedMilliseconds;
ShowMessage(inttostr(elapsed));
end;
Run Code Online (Sandbox Code Playgroud)
如果我运行/编译debug或release配置结果是900左右并不重要.当我从Visual Studio 切换debug到release(对于c ++和c#)时,我的程序变得非常快.我正在使用Delphi 2010,我从项目管理器以及项目 - >配置管理器甚至项目 - >选项 - > Delphi编译器激活发布配置但是没有效果为什么?
如果重要:我使用的是Windows XP,我有1GB RAM和Intel Core2 CPU.
Uwe*_*abe 16
你检查过,配置有何不同?即使它们具有RELEASE或DEBUG等名称,它们也是完全可配置的.你甚至可以反过来配置它们.
您正在计时的代码主要与I/O相关.因此,请确保在RELEASE配置中关闭IO检查.
即使在调试时,Delphi仍会创建快速代码;)
Oli*_*sen 10
除了Uwe所说的,请确保在切换配置后执行"构建".执行简单的编译或运行应用程序不会使用新设置重新编译所有单元.
与其他评论者一样,考虑到所使用的基准测试,我也不会期望两种配置之间存在太大差异.真正的瓶颈是I/O,很可能会使DEBUG和RELEASE之间的任何性能差异失衡.
最后,在Delphi中进行调试并不比Release版本慢得多.哎呀,我有时在调试器中运行Outlook大部分时间(我正在开发Outlook插件)而没有注意到任何可察觉的性能差异.
| 归档时间: |
|
| 查看次数: |
2335 次 |
| 最近记录: |