Heim > Backend-Entwicklung > Golang > Wie kann ich die Funktionslaufzeit in Go mit Millisekundengenauigkeit messen?

Wie kann ich die Funktionslaufzeit in Go mit Millisekundengenauigkeit messen?

Linda Hamilton
Freigeben: 2024-12-01 05:50:10
Original
296 Leute haben es durchsucht

How Can I Measure Function Runtime in Go with Millisecond Precision?

Funktionslaufzeit in Go mit Millisekundengenauigkeit berechnen

In Go ist es ganz einfach, die Laufzeit einer Funktion zu messen und ihre Dauer in Millisekunden zurückzugeben dank der Leistungsfähigkeit verzögerter Funktionen. So können Sie es machen:

Definieren Sie für Go 1.x und höher die folgenden Hilfsfunktionen:

func trace(s string) (string, time.Time) {
    log.Println("START:", s)
    return s, time.Now()
}

func un(s string, startTime time.Time) {
    endTime := time.Now()
    log.Println("  END:", s, "Elapsed Time in seconds:", endTime.Sub(startTime))
}
Nach dem Login kopieren

Um dann eine Funktion zeitlich festzulegen, verschieben Sie einfach die un()-Funktion mit einer entsprechenden Zeichenfolge am Anfang der Funktion:

func someFunction() {
    defer un(trace("SOME_ARBITRARY_STRING_SO_YOU_CAN_KEEP_TRACK"))

    // Do your stuff ...
}
Nach dem Login kopieren

Wenn Sie diese Funktion ausführen, erhalten Sie kurze Protokollmeldungen, die den Start und das Ende der Funktion angeben mit der verstrichenen Zeit in Sekunden.

Bedenken Sie, dass diese Methode aufgrund des Protokollierungsaufwands zwar nicht für eine extrem genaue Zeitmessung geeignet ist, für die meisten Anwendungsfälle jedoch ein effektiver und bequemer Ansatz ist. Mit der Verzögerungstechnik von Go ist es ein Kinderspiel, Funktionen zu timen und ihre Ausführungszeiten zu verfolgen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Funktionslaufzeit in Go mit Millisekundengenauigkeit messen?. 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