Version complète: sur le forum Webmaster Hub : temps d'execution d'un script
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
lorik
Bonjour,

Je cherche à calculer (puis afficher) le temps d'execution d'une requete.

J'ai trouvé des bouts de script à gauche et à droite, mais je n'arrive pas à les faire fonctionner :

CITATION
// debut du stript
list($msec0, $sec0) = explode(' ', microtime());

/*la requete et le script*/

// fin du script
list($msec1, $sec1) = explode(' ', microtime());
$duree=($sec1+$msec1)-($sec0+$msec0);


$duree est toujours à 0 IMSTP5.gif

si quelqu'un voit ou est l'erreur, par avance merci.
Country
Ton script marche très bien chez moi, peut être arrondi-tu le résultat avant l'affichage et comme celui-ci est très petit tu te retrouve avec 0.

Essaye de multiplier $duree par 1000 pour avoir le résultat en milliseconde plutôt qu'en seconde.
lorik
Bonjour et merci,

Effectivement, tu as raison, j'ai multiplié par 10000 et j'arrive à +/- 90.

Cela veut dire 9 milisecondes pour un script de 300 lignes ? moins d'un centieme de seconde ??? c'est incroyablement rapide !

je dis ça, mais je ne connais pas grand chose à l'informatique, alors c'est peut être totalement banal. Mais ça m'inpressionne.

T'est sur qu'en multipliant par mille, ça donne des milisecondes wub.gif

En tout cas mille merci.

Ps : Je en comprend pas pourquoi, mais sur ce forum, je ne reçois jamais les notifications de réponse; alors que l'option est cochée (Actuellement vous recevez les notifications email lors de réponses.), et qie mon adresse mail est ok.

Serait-ce mon fai qui bloque ?
Country
CITATION(lorik @ mardi 07 juin 2005, 17h10)
T'est sur qu'en multipliant par mille, ça donne des milisecondes  wub.gif
*


Pour t'en concaincre place un sleep(10); à la place de tes 300 lignes de code (cela aura pour effet de faire une pause de 10 secondes) tu remarquera que le temps que tu récupère dans $duree correspond wink.gif

PS: pour les notifications je ne sais pas, mais un modérateur aura surement la réponse wink.gif
Anonymus
En fait, la doc donne un bon exemple de fonction pour déterminer le temps d'execution d'un script. Il faut voir à la fonction 'microtime' :

CODE
<?php
function getmicrotime(){
   list($usec, $sec) = explode(" ",microtime());
   return ((float)$usec + (float)$sec);
   }

$time_start = getmicrotime();
   
for ($i=0; $i < 1000; $i++){
   //do nothing, 1000 times
   }

$time_end = getmicrotime();
$time = $time_end - $time_start;

echo "Ne fait rien pendant $time secondes";
?>


Tu peux remplacer les ligne :
for ($i=0; $i < 1000; $i++){
//...
}
par la fonction 'sleep', comme l'explique Country wink.gif

Anonymus.
lorik
Merci à tous les deux, tout est donc OK... mais toujours pas de notification ! Pas grave, ça me donne une occasion de venir sur cet excellent forum.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.