Aller au contenu

temps d'execution d'un script


lorik

Sujets conseillés

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 :

// 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 :boude:

si quelqu'un voit ou est l'erreur, par avance merci.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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:

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

<{POST_SNAPBACK}>

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 ;)

PS: pour les notifications je ne sais pas, mais un modérateur aura surement la réponse ;)

Lien vers le commentaire
Partager sur d’autres sites

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' :

<?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 ;)

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...