Calculer le temps d'exécution d'une page

Il est parfois utile de savoir le temps que met une page web pour se générer.
Ce petit script va vous permettre de connaitre avec 'précision' cette valeur.

Analyse du problème

Afin de faire ce calcul, nous devons connaitre principalement deux choses:

  • Le temps exact au début de la page,
  • Le temps exact à la fin de la page.

Pour se faire, nous allons utiliser la fonction microtime() de PHP. Cette fonction nous retourne le timestamp UNIX (nombre de seconde depuis le 1er janvier 1970) ainsi que les microsecondes (1 microseconde = 1 millionième de secondes).

Ces deux valeurs récupérées, il nous restera plus qu'a les soustraire pour connaitre le temps qu'a mis notre page à se générer.

Récupération du microtime au début du script

Au tout début de la page, nous récupérons notre microtime dans une variable.
Pour l'exemple, je la nommerai $temps_debut.

// Microtime du debut
$temps_debut = microtime(true);

Microtime de fin, calcul et affichage

Vers la fin de la page, nous allons effectuer le calcul et l'affichage du résultat. Pour éviter que le calcul nous retourne 25 décimales, nous allons arrondir le résultat à l'aide de la fonction round() de PHP.

// Microtime de fin
$temps_fin = microtime(true);
// Calcul
$calcul = $temps_fin - $temps_debut;
// Arrondi (ici 5 décimales)
$calcul = round($calcul, 5);
// Affichage
echo 'Page générée en ' . $calcul . ' seconde(s)';

J'ai ici détaillé pour une meilleur compréhension mais on aurait pu faire cela en une ligne :

echo 'Page générée en ' . round( microtime(true)-$temps_debut , 5) . ' seconde(s)';

C'est fini !!

Et oui, comme quoi il m'arrive aussi d'écrire des articles simples. :p

comments powered by Disqus