Mesurer le temps, une fonction prend pour exécuter un aspect important de la surveillance et de l'optimisation des performances dans le développement de logiciels. Par exemple, pour les développeurs qui ont plusieurs implémentations pour la même fonction, la mesure de leur temps d'exécution peut les aider à comparer leurs performances et à choisir la plus efficace.
Ce blog décrira les moyens de mesurer le temps pris par une fonction pendant l'exécution.
Comment mesurer le temps pour exécuter une fonction?
Les méthodes suivantes sont utilisées pour mesurer le temps pris par une fonction pendant l'exécution:
Méthode 1: Mesurez le temps d'exécuter une fonction à l'aide de «Date.Méthode maintenant () ”
Utilisez le "Date.maintenant()”Méthode pour mesurer le temps qui prend une fonction pour exécuter. Cette méthode donne l'horodatage actuel comme le nombre de millisecondes écoulé depuis le 1er janvier 1970 UTC ou l'UNIX Epoch.
Exemple
Tout d'abord, définissez une fonction nommée «func«Cela imprime les numéros 0 à 10:
fonction func ()Appeler la date.Méthode maintenant () pour obtenir l'heure de début de la fonction:
var start = date.maintenant();Invoque la fonction définie entre le «commencer" et "fin”Timestaps:
func ();Le temps écoulé est calculé en soustrayant l'heure de début de l'heure de fin. Pour la fin, appelez la date.maintenant () méthode à nouveau et soustraire l'heure de début:
var Executiontime = Date.maintenant () - démarrer;Enfin, imprimez le temps écoulé à la console pour analyse:
console.log ("Le temps d'exécution de la fonction pour les numéros d'impression 0 à 10 est:" + ExecutionTime + "millisecondes");On peut voir que la fonction prend 1 ms pour imprimer les numéros 0 à 10:
Méthode 2: Mesurez le temps d'exécuter une fonction en utilisant «Performance.Méthode maintenant () ”
Pour mesurer le temps d'exécution d'une fonction, utilisez le «performance.maintenant()" méthode. Il fournit un horodatage haute résolution qui mesure le temps écoulé en millisecondes avec une précision jusqu'à un millième de millisecondes.
Le "Date.maintenant()»La méthode renvoie l'heure du système, tandis que le«performance.maintenant()«La méthode est spécifiquement conçue pour mesurer le temps écoulé entre deux points. Il est souvent utilisé pour la surveillance des performances et l'analyse comparative, car il peut fournir des informations de synchronisation plus précises que les autres méthodes.
Exemple
Appeler le "performance.maintenant()”Méthode pour démarrer le temps d'exécution de la fonction:
var startExecutionTime = Performance.maintenant();Invoquez la fonction entre le début et l'heure de fin:
func ();Encore une fois, appelez le «performance.maintenant()”Méthode pour terminer le temps d'exécution:
var ExecutionTimeend = Performance.maintenant();Soustrayez l'heure de début de l'heure de fin pour obtenir l'heure d'exécution:
var ExecutionTime = ExecutionTimeend - startExecutionTime;Enfin, imprimez l'horodatage précis sur la console:
console.log ("Le temps d'exécution de la fonction pour les numéros d'impression 0 à 10 est:" + ExecutionTime + "millisecondes");Sortir
Méthode 3: Mesurez le temps pris par une fonction à exécuter à l'aide de «Console.Méthode time () ”
Une autre façon de mesurer le temps d'exécution par une fonction est le «console.temps()" méthode. Il est utilisé pour démarrer une minuterie pour mesurer la durée d'une certaine opération. La console.La méthode time () prend une chaîne comme argument, qui étiquette la minuterie et démarre la minuterie.
Il est crucial de noter que l'étiquette de la minuterie est passée au «console.temps()«La méthode doit correspondre à l'étiquette transmise au«console.Timeend ()" méthode. Si les étiquettes ne correspondent pas, la console.La méthode timeEnd () n'arrêtera pas la minuterie et la sortie sera incorrecte.
Exemple
Appeler la console.Méthode Time () pour démarrer le temporisateur pour mesurer l'heure de début de l'exécution de la fonction:
console.Temps ('Temps d'exécution pour imprimer les numéros 0 à 10');Invoquez la fonction à exécuter:
func ();Arrêtez la minuterie à l'aide de la console.Méthode Timeend ():
console.Timeend ('Temps d'exécution pour imprimer les numéros 0 à 10');On peut observer que la fonction prend «1.670166015625 ms»:
Nous avons compilé toutes les approches pour mesurer le temps pris par une fonction pour exécuter.
Conclusion
Pour mesurer le temps pris par une fonction d'exécution, utilisez le «Date.maintenant () "," Performance.maintenant()", ou la "console.temps()" méthode. La performance.La méthode maintenant () fournit des informations de synchronisation plus précises que les autres méthodes car elle a une précision plus élevée et n'est pas affectée par les changements de temps du système. Cependant, la console.La méthode time () est toujours utile pour des mesures de temps rapide et pratique pendant le développement ou le débogage. Ce blog a décrit différentes méthodes pour mesurer le temps pris par une fonction pendant l'exécution.