Heim > Backend-Entwicklung > C++ > Wann sollten Sie „std::chrono::high_resolution_clock' verwenden (und wann nicht)?

Wann sollten Sie „std::chrono::high_resolution_clock' verwenden (und wann nicht)?

Barbara Streisand
Freigeben: 2024-12-31 10:04:17
Original
843 Leute haben es durchsucht

When Should You (and Shouldn't You) Use `std::chrono::high_resolution_clock`?

Eintauchen in die Nützlichkeit von std::chrono::high_resolution_clock

Obwohl ursprünglich als geeignet für Leistungsmessungen angesehen, wurde die Verwendung von std:: chrono::high_resolution_clock gibt Anlass zu Bedenken aufgrund möglicher Uhranpassungen und der Unfähigkeit, in Kalenderzeit umzuwandeln. Bleibt die Frage nach seinen praktischen Anwendungen.

Prüfung möglicher Verwendungen

  • Leistungsmessungen: Die instationäre Natur von high_resolution_clock führt zu Zeitintervallen Messungen unzuverlässig.
  • Retrieving Real Zeit:Das Fehlen einer to_time_t-Methode schließt die Erfassung der Kalenderzeit aus.

Schlussfolgerung: Ein schwer fassbarer Zweck

Nach der Untersuchung der Einschränkungen von high_resolution_clock , wird deutlich, dass es ihm an wesentlichem Nutzen mangelt. Seine Verwendung sollte zugunsten der zuverlässigeren steady_clock vermieden werden.

Ausnahmen von der Vermeidung

Obwohl generell davon abgeraten wird, gibt es bestimmte Situationen, in denen eine hochauflösende_Uhr angebracht sein kann:

  • Auf Plattformen, auf denen high_resolution_clock als steady_clock-Alias ​​implementiert ist, wie z. B. libc oder VS.
  • Situationen, in denen eine Kürzung in Richtung Null gewünscht ist, was durch explizite Verwendung von „duration_cast“ erreicht wird.
  • Fälle, in denen implizite Konvertierungen nicht angewendet werden können.

Diese Ausnahmen sollten jedoch gelten sollten mit Vorsicht betrachtet und nach Möglichkeit alternative Ansätze erkundet werden.

Das obige ist der detaillierte Inhalt vonWann sollten Sie „std::chrono::high_resolution_clock' verwenden (und wann nicht)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage