Heim > Artikel > Backend-Entwicklung > So erhalten Sie die Funktionsausführungszeit in der Go-Sprache
In der Go-Sprache können Sie die Funktion Since() im Zeitpaket verwenden, um die Ausführungszeit der Funktion zu erhalten. Legen Sie eine Startzeit fest, bevor die Funktion ausgeführt wird, und ermitteln Sie das Zeitintervall vom Startzeitpunkt bis zum aktuellen Ende der Funktionsausführung. Dieses Zeitintervall ist die Ausführungszeit der Funktion, und die Ausführungszeit der Funktion kann berechnet werden Die Funktion time.Since(). Die Syntax „time.Since(t)“ gibt die von t bis jetzt verstrichene Zeit zurück.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.
Verwenden Sie die Zeit. Da die Ausführungszeit berechnet wird
Die Länge der Laufzeit der Funktion ist ein wichtiger Indikator zur Messung der Leistung dieser Funktion, insbesondere im Vergleichs- und Benchmark-Test, der einfachste Weg, sie zum Laufen zu bringen Zeit der Funktion: Legen Sie eine Startzeit fest, bevor die Funktion ausgeführt wird, und ermitteln Sie das Zeitintervall von der Startzeit bis zum aktuellen Ende der Funktionsausführung. Dieses Zeitintervall ist die Laufzeit der Funktion.
In der Go-Sprache können wir die Funktion Since() im Zeitpaket verwenden, um die Laufzeit der Funktion zu ermitteln. Die Einführung der Funktion Since() in der offiziellen Dokumentation der Go-Sprache lautet wie folgt. Die Funktion
func Since(t Time) Duration
Since() gibt die von t bis jetzt verstrichene Zeit zurück, was time.Now().Sub(t) entspricht.
Beispiel 1: Verwenden Sie die Funktion Since(), um die Laufzeit der Funktion
package main import ( "fmt" "time" ) func test() { start := time.Now() // 获取当前时间 sum := 0 for i := 0; i < 100000000; i++ { sum++ } elapsed := time.Since(start) fmt.Println("该函数执行完成耗时:", elapsed) } func main() { test() }
zu erhalten. Das laufende Ergebnis lautet wie folgt:
该函数执行完成耗时: 39.8933ms
Wir haben oben erwähnt, dass die Funktion time.Now().Sub() ähnelt der Funktion Since(). Wenn Sie time.Now().Sub() verwenden möchten, um die Laufzeit der Funktion zu erhalten, müssen Sie lediglich Zeile 14 unseres obigen Codes ändern.
Beispiel 2: Verwenden Sie time.Now().Sub(), um die Laufzeit der Funktion
package main import ( "fmt" "time" ) func test() { start := time.Now() // 获取当前时间 sum := 0 for i := 0; i < 100000000; i++ { sum++ } elapsed := time.Now().Sub(start) fmt.Println("该函数执行完成耗时:", elapsed) } func main() { test() }
zu erhalten. Die laufenden Ergebnisse lauten wie folgt:
该函数执行完成耗时: 36.8769ms
Aufgrund des Einflusses der Computer-CPU und einiger anderer Faktoren , wenn die Laufzeit der Funktion abgerufen wird Die Ergebnisse werden jedes Mal leicht unterschiedlich sein, was normal ist.
Wissen erweitern: Verwenden Sie time.Now().Sub(), um den Zeitunterschied zu berechnen
Wir müssen nur time.Since() durch time.Now().Sub() ersetzen, wie folgt:
rrreeTatsächlich ruft time.Since intern das Zeitpaket auf, um zu sehen, dass „Since“ die seit t vergangene Zeit zurückgibt. Sub(t),
srctimetime.go 923:6
start := time.Now() // 获取当前时间 sum := 0 for i := 0; i < 100000000; i++ { sum++ } elapsed := time.Now().Sub(start) fmt.Println(elapsed)
Wenn wir auch time.Now().Sub(start).Seconds() verwenden können, um die Anzahl der verstrichenen Sekunden zu erhalten, erhalten wir Stunden Die Anzahl der verstrichenen Stunden usw. kann auch als time.Since(start).Seconds(), time.Since(start).Seconds() usw. abgekürzt werden.
【Verwandte Empfehlungen: Go-Video-Tutorial, Programmierunterricht】
Das obige ist der detaillierte Inhalt vonSo erhalten Sie die Funktionsausführungszeit in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!