Maison > développement back-end > Golang > Comment puis-je mesurer le temps d'exécution d'une fonction en Go avec une précision à la milliseconde ?

Comment puis-je mesurer le temps d'exécution d'une fonction en Go avec une précision à la milliseconde ?

Linda Hamilton
Libérer: 2024-12-01 05:50:10
original
280 Les gens l'ont consulté

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

Calcul du temps d'exécution d'une fonction dans Go avec une précision en millisecondes

Dans Go, mesurer le temps d'exécution d'une fonction et renvoyer sa durée en millisecondes est simplifié grâce à la puissance des fonctions différées. Voici comment procéder :

Pour Go 1.x et supérieur, définissez les fonctions utilitaires suivantes :

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))
}
Copier après la connexion

Ensuite, pour chronométrer une fonction, différez simplement la fonction un() avec une chaîne appropriée au début de la fonction :

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

    // Do your stuff ...
}
Copier après la connexion

Lorsque vous exécutez cette fonction, vous recevrez des messages de journal concis indiquant le début et la fin de la fonction, ainsi que avec le temps écoulé en secondes.

Gardez à l'esprit que même si cette méthode n'est pas parfaite pour un timing extrêmement précis en raison de la surcharge de journalisation, il s'agit d'une approche efficace et pratique pour la plupart des cas d'utilisation. La technique de report de Go facilite le chronométrage des fonctions et le suivi de leurs temps d'exécution.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal