Autor Beitrag
Jakane
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 257



BeitragVerfasst: Do 28.03.13 13:05 
Hallo Delphi-Helfer :)

es gibt eine schöne Funktion (FormatDateTime('dd.mm.yyyy hh:mm:ss:zzz', Now)), die geht auf Millisekunden runter.
Ich brauche auch noch eine Zeiteinheit kleiner.

Ich habe eine Schleife die einige Tausend Mal etwas durchlaufen muss und will diese Optimieren.
Dazu muss ich wissen wo genau die Zeitverzögerungen sind.
Wenn mein Memo allerdings am Ende 20-30mal die selbe Zeit anzeigt, weil die Diferenz im Nano-Bereich liegt, komm ich an diese Info nicht ran :(

Hoffe jemand hat eine Idee. Google hat mir nicht wirklich geholfen ^^

Danke
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Do 28.03.13 13:15 
Hallo,
so zwei Punkte dir mir einfallen:
1. Kennst du QueryPerformanceCounter?
2. Könntest du die Schleife nicht einfach 100.000 mal durchlaufen lassen?
Jakane Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 257



BeitragVerfasst: Do 28.03.13 13:38 
user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,
so zwei Punkte dir mir einfallen:
1. Kennst du QueryPerformanceCounter?
2. Könntest du die Schleife nicht einfach 100.000 mal durchlaufen lassen?


1. Nein, aber werd ich mal Googeln
2. hab ich versucht aber die millisekunden sind zu unterschiedlich um genaueres festzustellen
mal ist der sprung am anfang, mal am ende


EDIT: funktioniert prima ^^
Danke


Zuletzt bearbeitet von Jakane am Do 28.03.13 13:54, insgesamt 1-mal bearbeitet
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Do 28.03.13 13:53 
Wäre hier nicht der Einsatz eines Profiler-Tools sinnvoll?
Jakane Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 257



BeitragVerfasst: Do 28.03.13 13:55 
user profile iconGerd Kayser hat folgendes geschrieben Zum zitierten Posting springen:
Wäre hier nicht der Einsatz eines Profiler-Tools sinnvoll?


klingt nach extra programm...
nein danke ^^ bin mit der 1. lösung sehr zufrieden
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 28.03.13 14:10 
Solche Messungen sind auch nicht 100%ig genau, d.h. wenn die Zeiten zu klein sind, kannst du das so gar nicht messen. Auch wenn der Performance-Counter sehr genau ist.
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Do 28.03.13 14:21 
user profile iconJakane hat folgendes geschrieben Zum zitierten Posting springen:
klingt nach extra programm...

Nun ja, man kann auch ein Treppenhaus entweder mit einem großem Schrubber oder nur mit einer Zahnbürste schrubben... :)
Dieser Profiler hier www.prodelphi.de/indexpd.htm misst in der Freeware-Version bis zu 20 Prozeduren. Aber unbedingt vorher ein Backup des Projektverzeichnisses machen, weil vom Programm zur Messung einige Einträge im Quellcode gemacht werden.