Bibliotheken: AccurateTimer

 

AccurateTimer:

Erhöhte Genauigkeit des Standard-Timers.


Autor: fxsaber

 
Und Sie erhalten keine Fehlermeldung während der Arbeit? Haben Sie versucht, auf schwachen Systemen (Netbooks, zum Beispiel) zu testen?
 
Andrey Khatimlianskii:
Und Sie erhalten keine Fehlermeldung während der Arbeit? Haben Sie versucht, auf schwachen Systemen (z. B. Netbooks) zu testen?

Bei mir ist dieser Fehler noch nie aufgetreten. Ich werde es auf einem Netbook versuchen müssen.

 
fxsaber:

Dieser Fehler ist mir noch nie untergekommen. Ich muss es mal auf meinem Netbook versuchen.

Auf einem gemieteten Hetzner-Server hatte ich ihn schon ein paar Mal.

Der Hinweis war, dass das periodische Neuaufsetzen des Timers eine Quelle für mögliche Fehler ist.

 
Andrey Khatimlianskii:

Das ist mir schon ein paar Mal auf einem von Hetzner gemieteten Server passiert.

Die Schlussfolgerung war, dass die periodische Wiederherstellung des Timers eine Quelle für potentielle Fehler war.

Verstanden, danke! Eine Versicherung gegen diesen Fehler gibt es natürlich nicht. Vielleicht werden die Entwickler ihn beheben.

 
fxsaber:

Ich hab's, danke! Eine Versicherung gegen diesen Fehler gibt es natürlich nicht. Vielleicht werden die Entwickler ihn beheben.

Nach dem Hinweis von @Slava auf die Beschreibung der Systemfehler zu urteilen - unwahrscheinlich =(

 
Andrey Khatimlianskii:

Nach dem Hinweis von @Slava auf die Beschreibung der Systemfehler zu urteilen - unwahrscheinlich =(

Slava hat ihm seine negative Meinung bereits mitgeteilt. Aber fxsaber glaubt es nicht

 
Rashid Umarov:

Glory hat ihm bereits seine negative Meinung mitgeteilt. Aber fxsaber glaubt ihm nicht.

Vielleicht habe ich etwas übersehen. Könnten Sie es wiederholen?

 
Automated-Trading:

AccurateTimer:

Autor: fxsaber

GetMicrosecondCount und EventSetTimer verwenden offensichtlich unterschiedliche Zeitquellen und werden zwangsläufig voneinander abweichen, da sie unterschiedliche Zeiten zählen.

Der Versuch, sie zu synchronisieren, hat etwas für sich, es ist falsch :-)

 
Maxim Kuznetsov:

GetMicrosecondCount und EventSetTimer verwenden offensichtlich unterschiedliche Zeitquellen und müssen voneinander abweichen, da sie unterschiedliche Zeiten zählen.

Der Versuch, sie zu synchronisieren, hat etwas für sich, er ist falsch :-)

Setzen Sie einen zweiten Timer auf 00:00:00:00. Und sehen Sie, welche Zeit nach dem 300. Aufruf von OnTimer sein wird. Glauben Sie mir, Sie werden nicht 00:05:00 (genau fünf Minuten) sehen. Mit der Bibliothek wird es keine solche Diskrepanz geben.

 
fxsaber:

Setzen Sie den zweiten Timer auf 00:00:00:00. Und sehen Sie, welche Zeit nach dem 300. Aufruf von OnTimer angezeigt wird. Glauben Sie mir, Sie werden nicht 00:05:00 sehen. Es wird keine solche Diskrepanz mit der Bibliothek geben.

Oh, was für ein sturer, dummer Mann :-)

GetMicrosecondTimer wird für Profiling, Leistungsmessungen und kleine Verzögerungen in Zyklen verwendet. Offensichtlich nimmt er zu diesem Zweck die Abrechnungszeit eines Prozesses oder eines Tracks (Entwickler können das angeben, aber warum?).

EventSetTimer nimmt entweder monoton oder in Echtzeit (ersteres ist wahrscheinlicher) und ruft OnTimer auf die eine oder andere Weise auf, wenn der Timer tickt. Zu diesem Zweck werden Systemdeskriptoren verwendet, was zu einigen Problemen führt, da der Timer über EventSetTimer möglicherweise einfach nicht gestartet wird.

alle oben genannten sind unterschiedliche Timer. Auf einem belasteten Rechner werden die Unterschiede signifikant und natürlich sein