Einzelnen Beitrag anzeigen

Gargamel

Registriert seit: 19. Mär 2007
171 Beiträge
 
#15

Re: Geschwindigkeit einer Funktion messen

  Alt 23. Jul 2008, 15:31
OK. Hier der Quellcode. Wundert Euch bitte nicht, warum ich ständig PChar in String konvertiere. Der Grund ist der, daß ich mit der Torque Game Engine arbeite und die komplett in C++ geschrieben wurde. Da ich aber C++ nur dann anfasse, wenn unbedingt nötig, nutze ich lieber mit der 3D Engine eine zusätzliche DLL, die ich in Delphi schreibe. Daher die Umwandlung.
Die Zeitmessung ist deswegen interessant, da KI und Wegfindung recht aufwändige Berechnungen sind. Und ich will halt wissen, wie schnell die Algorithmen ablaufen.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Start, Stop, Frequenzy: Int64;
    i:integer;
    name_p:PChar;
    name_s:string;
begin
  Listbox1.clear;
  QueryPerformanceFrequency(Frequenzy);
  QueryPerformanceCounter(Start);

  for i:=1 to StrToInt(Edit1.text) do
  Begin

    name_p:='Ich mag Delphi';

    name_s:=StrPas(name_p);

    listbox1.Items.Add(IntToStr(i)+': '+name_s);

  End;

  try
    QueryPerformanceCounter(Stop);
    ShowMessage(FormatFloat('0.00', (Stop - Start) * 1000 / Frequenzy) + ' Millisekunden');

  finally

  end;
end;
  Mit Zitat antworten Zitat