Soyez le premier à donner votre avis sur cette source.
Snippet vu 16 562 fois - Téléchargée 31 fois
// Fonction qui calcule la différence entre 2 temps précis au millième de seconde function DiffTime($microtime1, $microtime2) { // on sépare les secondes et les millisecondes list($micro1, $time1) = explode(' ', $microtime1); list($micro2, $time2) = explode(' ', $microtime2); // on calule le nombre de secondes qui séparent les 2 $time = $time2 - $time1; // on calcule les fractions de secondes qui séparent les 2 if ($micro1 > $micro2) { // si le nombre de millisecondes du 2° temps est supérieur au 1°, on a compté une seconde de trop $time--; $micro = 1 + $micro2 - $micro1; } else { // sinon, on fait juste la différence $micro = $micro2 - $micro1; } // A la fin, on ajoute les secondes et les millisecondes $micro += $time; // Et on renvoie le tout return $micro; } // Prise de temps au début de la page PHP $mt1 = microTime(); // code de la page... // Prise de temps à la fin de la page PHP $mt2 = microTime(); // Calcul et affichage du temps pris pour la génération $time = DiffTime($mt1, $mt2); printf("<p>Page générée en %2.3f secondes</p>\n", $time);
19 janv. 2009 à 23:35
4 mai 2008 à 08:54
Sur mon site, j'utilise un code beaucoup plus simple et moins long !!! (php 5) :
<?php
$debut = microtime(true);
//votre page
$fin = microtime(true);
echo 'Page exécutée en '.round(($fin - $debut),5).' secondes.
';
?>
25 avril 2008 à 16:55
25 avril 2008 à 16:35
Tout comme l'auteur du dessus j'aime pas trop l'utilisation de :
printf("%2.3f secondes", $time);
Donc j'ai remplacé dans la fonction :
return $time;
Par :
return round($time, 3);
Voilà si il y a d'autre intéressés !
M@x.
20 mai 2007 à 02:36
le post date un peu maintenant m'enfin. Outre le fait que le code soit joli la fonction peut être optimisée. J'ai eu du mal à comprendre le code au départ à cause de l'utilisation du If. Voici donc ma solution sans If (l'addition secondes, microsecondes se fait avant) :
// Fonction qui calcule la différence entre 2 temps précis au millième de seconde
function DiffTime($microtime1, $microtime2)
{
// on sépare les secondes et les millisecondes
list($micro1, $sec1) = explode(' ', $microtime1);
list($micro2, $sec2) = explode(' ', $microtime2);
// Pour chaque temps on additionne les secondes et les micro
$time1 = $sec1 + $micro1;
$time2 = $sec2 + $micro2;
// On calcule le temps d'execution de la page, en precisant
// le nomre de chiffres après la virgule
$time = round($time2 - $time1, 4);
// Et on renvoie le tout
return $time;
}
Le reste se fait de la même manière si ce n'est pour l'affichage :
echo 'Page générée en '.DiffTime($mt1,$mt2).' secondes';
le printf devient inutile étant donné que les chiffres après la virgule sont gérés dans la fonction.
Voila,
see you space cowboy...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.