L'extension HRtime est une extension de PHP pour obtenir des horodatages de haute précision, qui peuvent fournir une précision en nanoseconde et conviennent aux scénarios où un moment de haute précision est requis, tels que les tests de performances et l'optimisation. Cet article introduira en détail comment installer et utiliser des extensions HRtime, ainsi que des précautions connexes.
Avant d'installer l'extension HRtime, vous devez vous assurer les conditions suivantes:
Tout d'abord, téléchargez le code source du référentiel GitHub de HRtime. Vous pouvez vous cloner en utilisant la commande suivante:
<span class="fun">git clone https://github.com/php/hrtime.git</span>
Entrez le répertoire du code source:
<span class="fun">CD HRtime</span>
Exécutez la commande suivante pour compiler et installer l'extension HRtime:
phpize
./configure
make
make install
Modifier le fichier de configuration de PHP Php.ini, ajoutez la ligne suivante pour activer l'extension HRtime:
<span class="fun">extension = hrtime.so</span>
Enregistrez le fichier et redémarrez le service PHP.
Utilisez la fonction HRtime pour obtenir l'horodatage de haute précision actuel. HRtime renvoie un éventail de secondes et de nanosecondes. Le premier élément du tableau est des secondes et le deuxième élément est les nanosecondes:
$time = hrtime();
$seconds = $time[0];
$nanoseconds = $time[1];
L'extension HRtime fournit la fonction HRTime_Diff pour calculer le décalage horaire entre deux horodatages. Il accepte les horodat de démarrage et de fin et renvoie un tableau contenant la différence de temps:
$start = hrtime();
// Some code here
$end = hrtime();
$diff = hrtime_diff($start, $end);
$seconds = $diff[0];
$nanoseconds = $diff[1];
Les extensions HRtime reposent sur le matériel pour prendre en charge les minuteries haute résolution. Dans certains systèmes, en particulier dans les environnements de machines virtuelles, la précision au niveau de la nanoseconde peut ne pas être obtenue, et généralement seule une précision au niveau microseconde peut être obtenue.
L'extension HRtime convient à PHP 7,3 et au-dessus. Dans les versions inférieures de PHP, vous pouvez utiliser la fonction microme pour obtenir un horodatage de précision plus élevé, mais il ne peut pas atteindre la précision du niveau de nanoseconde.
Bien que HRtime offre des fonctions de synchronisation de haute précision, elle apportera des frais généraux de performances. Lorsque vous l'utilisez, vous devez équilibrer la précision de synchronisation et les frais généraux de performances.
HRtime Extension est un outil important pour les développeurs de PHP afin d'améliorer la précision des tests de performances, et convient aux scénarios où un timing de haute précision est requis. Bien que l'impact des performances soit pris en compte lorsqu'il est utilisé, la précision de synchronisation nanoseconde qu'il fournit peut sans aucun doute aider dans de nombreux scénarios de développement.