Сравнить быстродействие алгоритмов

Previous  Top  Next

    
 

Если вас сколько-нибудь интересует скорость работы вашей программы, то нужно смерить скорость алгоритмов и сравнивать их. Здесь я привожу пример, сравнивающий четыре способа возведения 2 в степень 30.

Code:

uses Math;

 

procedure TForm1.Button1Click(Sender: TObject);

var

Res, Exponent: integer;

Res1: real;

t, i: integer;

begin

Exponent := 30;

 

Application.ProcessMessages;

t := GetTickCount;

for i := 1 to 1000000 do

   Res := 1 shl Exponent;

Form1.Caption := Form1.Caption + ' ' +

IntToStr(GetTickCount - t);

 

Application.ProcessMessages;

t := GetTickCount;

for i := 1 to 1000000 do

   Res1 := LdExp(1, Exponent);

Form1.Caption := Form1.Caption + ' ' +

IntToStr(GetTickCount - t);

 

Application.ProcessMessages;

t := GetTickCount;

for i := 1 to 1000000 do

   Res1 := IntPower(2, Exponent);

Form1.Caption := Form1.Caption + ' ' +

IntToStr(GetTickCount - t);

 

Application.ProcessMessages;

t := GetTickCount;

for i := 1 to 1000000 do

   Res1 := Power(2, Exponent);

Form1.Caption := Form1.Caption + ' ' +

IntToStr(GetTickCount - t);

end;

©Drkb::00772

http://delphiworld.narod.ru/

DelphiWorld 6.0