Position actuelle: Accueil> Derniers articles> Utilisez GetTimeOfday pour obtenir un temps de niveau en millisecondes et effectuer des tests de performances

Utilisez GetTimeOfday pour obtenir un temps de niveau en millisecondes et effectuer des tests de performances

gitbox 2025-05-28

1. Qu'est-ce que getTimeOfday () ?

GetTimeOfday () est une fonction intégrée dans PHP. Il renvoie l'heure actuelle. La valeur par défaut est un tableau contenant deux pièces clés:

  • SEC : Le nombre actuel de secondes, Unix Timestamp.

  • USEC : le nombre de microsecondes après le nombre actuel de secondes.

En utilisant ces deux données, nous pouvons calculer une heure actuelle plus précise.


2. Utilisez GetTimeOfday () pour obtenir un horodatage milliseconde

L'exemple de code PHP est le suivant:

<code> & lt ;? php // obtient les secondes et les microsecondes de l'heure actuelle $ time = getTimeOfday ();

// converti des secondes et microsecondes en millisecondes
$ millisecondes = ($ time ['sec'] * 1000) + (int) ($ time ['usec'] / 1000);

Echo "Todapon milliseconde de l'heure actuelle:". $ millisecondes;
?>
</code>

Remarque Ici, nous multiplions les secondes par 1000 pour obtenir les millisecondes, puis divisons les microsecondes par 1000 pour les convertir en millisecondes, et enfin les ajouter pour obtenir l'horodatage en millisecondes total.


3. Faites un test de performance simple

Afin de vérifier la précision et les performances de cet horodatage, nous pouvons rédiger un test de performance pour calculer le nombre de millisecondes utilisé pour l'exécution d'un morceau de code.

Supposons que nous voulons tester le temps d'exécution de la boucle suivante:

<code> & lt ;? php function get_milsiseconds () {$ time = getTimeOfday (); return ($ time ['sec'] * 1000) + (int) ($ time ['usec'] / 1000); }

// Enregistrez l'heure de début
$ start = get_milliseconds ();

// Exécuter des opérations longues, utilisez une boucle pour la simuler ici
pour ($ i = 0; $ i <1000000; $ i ++) {
$ x = sqrt ($ i);
}

// Enregistrez l'heure de fin
$ end = get_milliseconds ();

Echo "Temps d'exécution:". ($ fin - $ start). "millisecondes";
?>
</code>

Dans ce code, nous définissons une fonction get_milliseconds () et utilisons GetTimeOfday () pour obtenir l'horodatage en millisecondes. Ensuite, enregistrez le décalage horaire avant et après l'exécution pour obtenir le temps d'exécution.


4. Résumé

  • GetTimeOfday () est un bon aide pour obtenir des secondes et des microsecondes.

  • Grâce à des calculs simples, un horodatage en millisecondes peut être obtenu.

  • À l'aide d'horodatrices de millisecondes, des tests de performances relativement précis peuvent être effectués.

Si vous avez besoin d'un temps de précision plus élevé, vous pouvez considérer le HRtime () introduit plus tard dans PHP 7.3, qui prend en charge le niveau de nanoseconde.

Ce qui précède est de savoir comment utiliser getTimeOfday () pour obtenir des tests de temps en millisecondes et de simples performances. Je vous souhaite un programme PHP à haute efficacité!