AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Befehlslaufzeit

Ein Thema von rich123 · begonnen am 13. Aug 2008 · letzter Beitrag vom 16. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
rich123

Registriert seit: 8. Aug 2008
Ort: Wien
44 Beiträge
 
Delphi 7 Enterprise
 
#1

Delphi Befehlslaufzeit

  Alt 13. Aug 2008, 16:37
Hallo zusammen,

Ich wollte fragen ob jemand eine Liste hat / kennt, wo drin steht wieviel Zeit ein Befehlt braucht um abgearbeitet zu werden.
Aber ich denke das wird stark von der Rechenleistung abhängig sein oder? Oder gibts dann vllt eine Mindestabarbeitzeit?

Das Problem ist nämlich, dass ich mein Sleep ziemlich auf die ms genau timen muss.
Wenn ich habe:

Delphi-Quellcode:
//irgendein Befehl1
//irgendein Befehl2
Sleep(50-Befehl1.Abarbeitungszeit-Befehl2.Abarbeitungszeit)
Kann mir jemand weiterhelfen?

Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Delphi Befehlslaufzeit

  Alt 13. Aug 2008, 16:39
Ich denke dein Ansatz ist bei einem Nicht-Echtzeitbetriebssystem wie Windows Falsch.

Im Notfall könntest du mit GetTickCount arbeiten
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Delphi Befehlslaufzeit

  Alt 13. Aug 2008, 16:40
Dann ist sleep() schon mal total falsch. Schau dir mal GetTickCount an
Markus Kinzler
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

Re: Delphi Befehlslaufzeit

  Alt 13. Aug 2008, 18:44
Guckst Du hier:

HURRA ! 300. Beitrag!
Angehängte Dateien
Dateityp: rar 20071030-sleeptest_558.rar (388,8 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Noedel

Registriert seit: 7. Aug 2008
204 Beiträge
 
Delphi 7 Professional
 
#5

Re: Delphi Befehlslaufzeit

  Alt 15. Aug 2008, 15:52
Jo, mit GetTickcont solltes funktionieren

Einfach drei variablen dafür erstellen und eine vor die Procedure und eine dahinter setzen, also


Code:
Zeitvor:=gettickcount;
//(deine Procedure)
Zeitnach:=gettickcount;
zeitgesamt:=zeitnach-zeitvor;
LabelAusgabe.caption:=inttostr(zeit div 1000)+','+inttostr(zeit mod 1000)+' s';
Dann hastes in Sekunden angezeigt
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#6

Re: Delphi Befehlslaufzeit

  Alt 15. Aug 2008, 16:33
Wofür bracuhst man das? Wenn man nicht grad mit Threads arbeitet, wird in Delphi ein Befehl nach dem anderen Ausgeführt. Ausserdem kommt es auch immer darauf an, was die CPU grad zu tun hat, du wirst also bei jedem Test eine andere Zeit raus gekommen!
Christian
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Delphi Befehlslaufzeit

  Alt 15. Aug 2008, 16:35
Befehlslaufzeit in Sekunden? Ist natürlich abhängig von der Prozedur, aber eine Anzeige als Millisekunden ist da vielleicht besser.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Noedel

Registriert seit: 7. Aug 2008
204 Beiträge
 
Delphi 7 Professional
 
#8

Re: Delphi Befehlslaufzeit

  Alt 15. Aug 2008, 16:39
ja, GetTickCount liefert doch ms

Ich habe das nur dann in sekunden umgewandelt... also dann zb. 2,123 Sekunden statt 2123ms
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: Delphi Befehlslaufzeit

  Alt 15. Aug 2008, 17:10
Hi,

Zitat von Noedel:
also dann zb. 2,123 Sekunden statt 2123ms
Oder 2,1 s statt 2001 ms (2,100 s für 2100 ms). Also sogar noch FALSCH!

Nimm lieber Format oder /1000 und mit FloatToStr oder so.

Mfg
FAlter
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Delphi Befehlslaufzeit

  Alt 15. Aug 2008, 17:12
Hallo zusammen,

wenn ich die Eingangsfrage richtig verstanden habe, dann geht es darum in einer bestimmten Zeitspanne eine Arbeit zu erledigen und dann noch etwas zu warten. Da bietet sich TTimer doch an! warum die alte Doskrücke
repeat until tckcount>x
immer noch verwenden?

hier ein Auszug aus der Delphi Hilfe:
Zitat:
Beschreibung

Mit der Komponente Timer kann nach Ablauf einer bestimmten Zeitspanne ein Ereignis ausgelöst werden. Dies kann einmal oder mehrmals hintereinander geschehen. Der auszuführende Quelltext wird im Ereignis OnTimer der Timer
-Komponente festgelegt.

Aufgaben

In der Eigenschaft Interval kann die Zeitspanne festgelegt werden, nach der das Timer-Ereignis ausgelöst wird.
Um das Auftreten des Timer-Ereignisses zu verhindern, setzen Sie die Eigenschaft Enabled der Timer-Komponente auf false.
Grüße
K-H
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz