Calcul du temps d'exécution

YEBOKOLO Messages postés 46 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 13 septembre 2010 - 14 août 2006 à 19:56
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 15 août 2006 à 14:44
je cherchais à vérifier un code pour calculer le temps d'exécution d'une page ou d'une requête (sans utiliser un code très ou trop compliqué) et je n'ai pas trouvé grand chose, en fait je souhaite mettre à l'épreuve de vos critiques ma fonction suivante :

// Fonction qui calcule la différence entre 2 temps
function DiffTime($microtime1, $microtime2)
{
// on sépare les secondes et les millisecondes
list($micro1, $time1) = explode(' ', $microtime1);
list($micro2, $time2) = explode(' ', $microtime2);

$time1 += $micro1;
$time2 += $micro2;

// on calcule le nombre de secondes qui séparent les 2
$time = $time2 - $time1;
// Et on renvoie le tout en utilisant la fonction native "number_format()" pour l'arrondi
return ($time = number_format($time,2));
}

j'attends vos commentaires et/ou vos critiques (mais pas trop sévères)
merci d'avance.

4 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
14 août 2006 à 20:04
En plus simple :
<?php
// Début de script :
$time = microtime(true);

// Reste du script...
// ...
// ...

// Fin de script :
$exectime = microtime(true) - $time;
echo $exectime;

?>

Pas besoin de bien plus :)
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
14 août 2006 à 20:27
Déplacé dans le bon forum












<hr size="2" />




VC# forever
0
YEBOKOLO Messages postés 46 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 13 septembre 2010
14 août 2006 à 21:17
FhX, merci de ta réponse, Mais il me semblait que microtime retournait une chaine "millisecondes, secondes" et donc le but de ma fonction était de remettre cette chaine dans l'ordre suivant : secondes, millisecondes, afin d'avoir un nombre sur lequel on peut faire un calcul "horaire".
Or je pense que le code que tu viens de me donner me restitue un résultat sous forme d'une chaine "millisecondes, secondes" alors que je voudrais le lire normalement comme un temps classique, exprime dans l'ordre logique d'abord les secondes et ensuite les millisecondes.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
15 août 2006 à 14:44
"Or je pense"
Bah si t'es pas sur, tu vérifies :

=> [ PHP5 ]
mixed microtime ( [bool get_as_float] )

Si get_as_float est fourni et vaut TRUE, microtime() retourne un nombre à virgule.
Note : Le paramètre get_as_float a été ajouté en PHP 5.0.0.

PHP4.2 étant un peu vieillot maintenant, serait temps de passer à PHP5.

Voila l'explication en entier !
0
Rejoignez-nous