Как сравнить быстродействие алгоритмов
Материал из DRKB
Если вас сколько-нибудь интересует скорость работы вашей программы, то нужно смерить скорость алгоритмов и сравнивать их. Здесь я привожу пример, сравнивающий четыре способа возведения 2 в степень 30.
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;
delphi4all@narod.ru aleksey@sch103.krasnoyarsk.su
Author: Автор советов: Даниил Карапетян
Author: Автор справки: Алексей Денисов
ID: 04235