Delphi7 比 VC++6.0 同样的简单算法下,执行速度还略好些,
可Delphi2009 比 VC++2005 就差了很多 [与Delphi7,VC++6.0差不多],
而从VC++6.0 到 VC++2005,同样的C++代码编译出的exe文件执行速度有很大改进;是我编译选项设置得有问题,还是Delphi编译器这两年进步就是不多?测试对象: 10^8 次两整数取模(int1 mod int2),计时用:GetTickCount
编译选项:所有的编译器都是默认Release
但愿是我编译选项设置得有问题,希望Delphi能跑得更快!!
可Delphi2009 比 VC++2005 就差了很多 [与Delphi7,VC++6.0差不多],
而从VC++6.0 到 VC++2005,同样的C++代码编译出的exe文件执行速度有很大改进;是我编译选项设置得有问题,还是Delphi编译器这两年进步就是不多?测试对象: 10^8 次两整数取模(int1 mod int2),计时用:GetTickCount
编译选项:所有的编译器都是默认Release
但愿是我编译选项设置得有问题,希望Delphi能跑得更快!!
真高
Delphi编译器已经够快的了
是不是Delphi编译选项我选的不对?DELPHI 代码:
----------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k: integer;
i1, i2, i3: int64;
begin
i := 0;
j := 0;
k := 0; i1 := gettickcount();
for i := 0 to 10000 do
begin
for j := 0 to 10000 do
begin
if j mod 2 = 0 then
inc(k);
end;
end;
i2 := gettickcount();
i3 := i2-i1;
showmessage(inttostr(i3)+' '+inttostr(k));
end;
----------------------------------------------------------------C++ 代码:void fooFxn(){
int i = 0;
int j = 0;
int k = 0; unsigned long i1 = GetTickCount(); for (i = 0; i < 10001; i++)
for (j = 0; j < 10001; j++)
{
if (j % 2 == 0)
k++;
} unsigned long i2 = GetTickCount();
unsigned long i3 = i2-i1; printf("%d,%d\n", i3, k);
}
------------------------------------------------------------
delphi 是用 delphi2009编译的
C++ 是用 VC2005编译的如果是我的代码或者设置有问题,请帮忙指出来,谢谢。我也希望Delphi越来越快,越来越好