Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Geschwindigkeit einer Funktion messen (https://www.delphipraxis.net/117686-geschwindigkeit-einer-funktion-messen.html)

Gargamel 23. Jul 2008 13:59


Geschwindigkeit einer Funktion messen
 
Hallo

Kennt jemand eine Lösung bzw. ist es überhaupt möglich, die Ausführungsgeschwindigkeit einer Funktion zu messen?

mkinzler 23. Jul 2008 14:00

Re: Geschwindigkeit einer Funktion messen
 
Nicht ohne Einfluss auf diese zu nehmen

sakura 23. Jul 2008 14:00

Re: Geschwindigkeit einer Funktion messen
 
Eine direkte Funktion gibt es nicht, aber mit Hilfe von Hier im Forum suchenQueryPerformanceCounter und Hier im Forum suchenQueryPerformanceFrequency ist es recht einfach möglich.

...:cat:...

sakura 23. Jul 2008 14:01

Re: Geschwindigkeit einer Funktion messen
 
Zitat:

Zitat von mkinzler
Nicht ohne Einfluss auf diese zu nehmen

Wieso, wenn man die Zeitmessung vor und nach dem Aufruf ausführt, dann sollte es doch ohne Probleme gehen.

...:cat:...

mkinzler 23. Jul 2008 14:06

Re: Geschwindigkeit einer Funktion messen
 
Zitat:

Zitat von sakura
Zitat:

Zitat von mkinzler
Nicht ohne Einfluss auf diese zu nehmen

Wieso, wenn man die Zeitmessung vor und nach dem Aufruf ausführt, dann sollte es doch ohne Probleme gehen.

...:cat:...

Stimmt :oops:

Apollonius 23. Jul 2008 14:06

Re: Geschwindigkeit einer Funktion messen
 
Auch noch zu erwähnen: Mit MSDN-Library durchsuchenGetThreadTimes bist du unabhängiger von anderen Threads, die gleichzeitig laufen, als wenn du QueryPerformanceCounter oder GetTickCount nimmst.

Bernhard Geyer 23. Jul 2008 14:08

Re: Geschwindigkeit einer Funktion messen
 
Falls es öfter benötigt wird um sein Programm schneller zu machen: AQTime ist sein Geld wert!

Meflin 23. Jul 2008 14:11

Re: Geschwindigkeit einer Funktion messen
 
Zitat:

Zitat von Bernhard Geyer
Falls es öfter benötigt wird um sein Programm schneller zu machen: AQTime ist sein Geld wert!

Wollte ich auch schon vorschlagen, wobei ich nicht weis, ob es für absolute Zeiten so gut geeignet ist. Wenn ich mich recht erinner, hat der Profiler die Ausführung doch erheblich verlangsamt...

Bernhard Geyer 23. Jul 2008 14:17

Re: Geschwindigkeit einer Funktion messen
 
Zitat:

Zitat von Meflin
Zitat:

Zitat von Bernhard Geyer
Falls es öfter benötigt wird um sein Programm schneller zu machen: AQTime ist sein Geld wert!

Wollte ich auch schon vorschlagen, wobei ich nicht weis, ob es für absolute Zeiten so gut geeignet ist. Wenn ich mich recht erinner, hat der Profiler die Ausführung doch erheblich verlangsamt...

Es kommt ja auf die verhältnisse an bzw. was ich machen will.
Wenn mir der Proviler sagt das 90% der Rechenzeit an 5 Quellcodezeilen verbraten werden ist es egal ob diese um den Faktor 5 verlangsamt wurden.
Und erheblich verlangsamt wird es nur wenn der Line-Profiler verwendet wird.

Forlan 23. Jul 2008 14:21

Re: Geschwindigkeit einer Funktion messen
 
Müsste es so nicht klappen????

Delphi-Quellcode:
procedure TForm1.Go;
var start,stop,zeit : integer;
begin
  start := GetTickCount;
     //Hier deine Funktion
  stop := GetTickCount;
  zeit := stop-start;
  ShowMessage('Gebrauchte Zeit '+ IntToStr(zeit) + ' ms';
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz