Wie kann ich die Ausführungszeit in Go genau messen?
Dec 05, 2024 pm 01:15 PMPräzise Messung der Zeitdauer in Go
Während die meisten Anwendungen das Standardzeitpaket zur Messung der Zeitdauer verwenden, ist es wichtig, dessen Einschränkungen zu berücksichtigen genaue Ergebnisse erhalten. time.Now() verlässt sich auf die Systemzeit, die durch Zeitzonenänderungen und Uhrensynchronisation mit NTP-Servern beeinflusst werden kann.
Um diese Herausforderungen zu meistern, stellt Go eine „monotone Uhr“ bereit, die von externer Zeit nicht beeinflusst wird Anpassungen. Ab Go 1.9 nutzen die Dauern in Go automatisch diese monotone Uhr.
Das bedeutet, dass der folgende Code immer eine positive verstrichene Zeit von etwa 20 Millisekunden berechnet, auch wenn sich die Wanduhr während des zeitgesteuerten Vorgangs ändert:
start := time.Now() ... operation that takes 20 milliseconds ... t := time.Now() elapsed := t.Sub(start)
Andere Redewendungen wie time.Since(start), time.Until(deadline) und time.Now().Before(deadline) sind auch resistent gegen Zurücksetzen der Wanduhr.
Um die Ausführungszeit in Go genau zu messen, verwenden Sie daher einfach time.Now() und time.Sub() des Zeitpakets Funktionen. Diese Funktionen stellen nun sicher, dass die Messungen der verstrichenen Zeit konsistent sind und nicht von Anpassungen der Systemuhr beeinflusst werden.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausführungszeit in Go genau messen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Linter und statische Analyse -Tools verwenden, um die Qualität und Wartbarkeit meines GO -Codes zu verbessern?
