AGB  ·  Datenschutz  ·  Impressum  







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

Wie schnell ist Now?

Ein Thema von tn249 · begonnen am 7. Sep 2004 · letzter Beitrag vom 9. Sep 2004
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von FAlter
FAlter

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

Re: Wie schnell ist Now?

  Alt 9. Sep 2004, 17:37
Wisst ihr, wie Now implementiert ist?

Result := Date + Time; Ich denke, man sieht, wie leicht sich ein paar Ticks sparen lassen. Und GetTickCount ist dann, wenn es nur auf Millisekunden ankommt, vermutlich die bessere Wahl (unbewiesene Behauptung). Bei noch genauerer

PS: Schade, dass delphi keine Makros kann
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#22

Re: Wie schnell ist Now?

  Alt 9. Sep 2004, 17:49
Delphi-Quellcode:
    writeln('Es wird nun die Geschwindigkeit von "now" 1 Minute lang getestet...');
    zeit:=now;
    while (now<zeit+1/24/60) do inc(i);//1=tag /24=stunde /60=minute
    writeln('Es wurden '+inttostr(i)+' Versuche geschafft...');
    writeln('-> '+floattostr(i / 60)+' pro Sekunde...');
    writeln('-> '+floattostr(60000 / i)+' Millisekunden pro Durchlauf...');
also das is mein qt...

bei dem kommt immer in etwa dasselbe raus
beispiel:
90162736 Versuche
1502712,26666667 pro Sekunde
0,000665463390551946 Ms pro Durchlauf
-> für "ein Now" weniger als 0,001 Ms

kann das sein?

EDIT:

Es kommt noch schlimmer: in einem Dauerlauf sinkt die zeit kontinuierlich...
hier meine logfile, in der ich von jeder runde meinen zähler speicher (welcher immer höher steigt):

Zitat:
15425227
31223342
44994514
59589841
75048739
90764494
105974080
121638413
136844801
149813096
164240349
178464597
193157262
208506152
223825834
239124542
254333749
269997018
285589556
300514267
die letzte zahl bringt es auf unter 3,3 E-5 Ms pro Now

wo ist der fehler in meinem quelltext?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#23

Re: Wie schnell ist Now?

  Alt 9. Sep 2004, 18:37
Zitat von glkbkk:
wo ist der fehler in meinem quelltext?
Zuerst einmal musst du wissen was die Funktion Now macht. Now ruft intern die WinAPI Funktion GetLocalTime auf.
Diese Funktion steckt in der KERNEL32.DLL Datei.
Dieser Wert wird aber nur in einem bestimmten Takt erneuert. Wenn du also in einer Schleife eine Minute lang aufrust,
dann ist einmal das System ausgelastet und du verfälscht dadurch die Geschwindikeit von Windows. Hinzu kommt noch, das der interne Wert von GetLocalTime nicht bei jedem Aufruf erneuert wird.
Also wirst du so nie eine genaue Zeitmessungen durch führen können.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#24

Re: Wie schnell ist Now?

  Alt 9. Sep 2004, 18:42
ja gut, aber es geht mir ja nicht darum die zeit zu nehmen, sondern darum, wie lange now braucht, und dies verkürzt sich mit zunehmender laufzeit ins unrealistische, hier mein aktueller log:

Zitat:
15425227
31223342
44994514
59589841
75048739
....
2508025096
2523343282
2538599782
2553783069
2568940084
beim letzten mal braucht er nur noch 0,000003715 Ms

danach wird windows im aufrufen dieser funktion jedes mal ein klein wenig besser...
find ich irgendwo unlogisch...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 11:05 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