JeuWeb - Crée ton jeu par navigateur
Calculer le temps de génération d'une page - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Calculer le temps de génération d'une page (/showthread.php?tid=8221)



Calculer le temps de génération d'une page - Xenos - 14-09-2020

Calculer le temps de génération d'une page

Introduction

Ce tutoriel vous présente l'utilisation d'une fonction qui permet d'en éxécuter une autre en fin de script et ainsi d'obtenir le temps de génération d'une page.

Le principe

Le principe est simple on enregistre le temps au début du script, et on le soustrait au temps de fin du script.

<?php
define('START_TIME',microtime(true));
 
//
//Le code de la page
//
 
echo microtime(true)-$start_time;
?>

Le problème

Ici on vois bien un soucis majeur qui est que l'on va devoir indiquer ce code en haut et en bas de chaque script!
Ce qui risque d'être vite complexe si vous avez plein de script!

La solution

La solution se nomme register_shutdown_function(), cette fonction permet de lancer une fonction lors de la fin du script.

<?php
/**
* relative_microtime.php
* Fichier qui mesure le temps de génération des pages
**/
 
/**
* Renvoie le temps écoulé depuis le début de l'interprétation du script
**/
function relative_microtime(){
    static $start_time=microtime(true);
    echo microtime(true)-$start_time;
}
relative_microtime();
register_shutdown_function('relative_microtime');

Ainsi il vous suffit de faire en début de script

include_once('relative_microtime.php');

Afin d'obtenir le temps de génération de votre page et ainsi déterminer si vos script sont trop long…

Conclusion

Bon je vous l'accorde c'est pas d'un niveau fulgurant, mais çà montre la puissance de register_shutdown_function(), qui est très pratique dans ce genre de cas!