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;
如果我运行/编译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 次 | 
| 最近记录: |