En langage Go, vous pouvez utiliser la fonction Since() dans le package time pour obtenir le temps d'exécution de la fonction. Définissez une heure de début avant l'exécution de la fonction et obtenez l'intervalle de temps entre l'heure de début et le présent à la fin de l'exécution de la fonction. Cet intervalle de temps est le temps d'exécution de la fonction et le temps d'exécution de la fonction peut être calculé à l'aide de : la fonction time.Since(), la syntaxe "time.Since(t)" renverra le temps écoulé depuis t jusqu'à maintenant.
L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.
Utilisez le temps.Puisque pour calculer le temps d'exécution
La durée d'exécution de la fonction est un indicateur important pour mesurer les performances de cette fonction, en particulier dans les tests de comparaison et de référence, le moyen le plus simple de démarrer heure de la fonction Il s'agit de définir une heure de début avant l'exécution de la fonction et d'obtenir l'intervalle de temps entre l'heure de début et le présent à la fin de l'exécution de la fonction.
En langage Go, nous pouvons utiliser la fonction Since() dans le package time pour obtenir le temps d'exécution de la fonction. L'introduction de la fonction Since() dans la documentation officielle du langage Go est la suivante. La fonction
func Since(t Time) Duration
Since() renvoie le temps écoulé entre t et maintenant, ce qui équivaut à time.Now().Sub(t).
Exemple 1 : Utilisez la fonction Since() pour obtenir le temps d'exécution de la fonction
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() }
Le résultat d'exécution est le suivant :
该函数执行完成耗时: 39.8933ms
Nous avons mentionné ci-dessus que la fonction time.Now().Sub() est similaire à la fonction Since(), si vous souhaitez utiliser time.Now().Sub() pour obtenir le temps d'exécution de la fonction, il vous suffit de modifier simplement la ligne 14 de notre code ci-dessus.
Exemple 2 : Utilisez time.Now().Sub() pour obtenir le temps d'exécution de la fonction
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() }
Les résultats d'exécution sont les suivants :
该函数执行完成耗时: 36.8769ms
En raison de l'influence du processeur de l'ordinateur et de certains autres facteurs , lors de l'obtention du temps d'exécution de la fonction, les résultats seront légèrement différents à chaque fois, ce qui est normal.
Développez vos connaissances : utilisez time.Now().Sub() pour calculer le décalage horaire
Il suffit de remplacer time.Since() par time.Now().Sub(), comme suit :
start := time.Now() // 获取当前时间 sum := 0 for i := 0; i < 100000000; i++ { sum++ } elapsed := time.Now().Sub(start) fmt.Println(elapsed)
En fait, time.Since appelle en interne la fonction Sub. Allons dans le package time pour voir. Le commentaire signifie que Since renvoie le temps écoulé depuis Time.Since est l'abréviation de time.Now(). .Sub(t),
srctimetime.go 923:6
// Since returns the time elapsed since t. // It is shorthand for time.Now().Sub(t). func Since(t Time) Duration { var now Time if t.wall&hasMonotonic != 0 { // Common case optimization: if t has monotonic time, then Sub will use only it. now = Time{hasMonotonic, runtimeNano() - startNano, nil} } else { now = Now() } return now.Sub(t) }
Quand on peut aussi utiliser time.Now().Sub(start).Seconds() pour obtenir le nombre de secondes qui se sont écoulées, Hours to obtenir le nombre d'heures écoulées, etc., le correspondant peut également être abrégé en time.Since(start).Seconds(), time.Since(start).Seconds(), etc.
【Recommandations associées : Tutoriel vidéo Go, Enseignement de la programmation】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!