lorik Posté 7 Juin 2005 Partager Posté 7 Juin 2005 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 striptlist($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 si quelqu'un voit ou est l'erreur, par avance merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Country Posté 7 Juin 2005 Partager Posté 7 Juin 2005 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 More sharing options...
lorik Posté 7 Juin 2005 Auteur Partager Posté 7 Juin 2005 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 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 More sharing options...
Country Posté 7 Juin 2005 Partager Posté 7 Juin 2005 T'est sur qu'en multipliant par mille, ça donne des milisecondes <{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 More sharing options...
Anonymus Posté 7 Juin 2005 Partager Posté 7 Juin 2005 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' : <?phpfunction 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 More sharing options...
lorik Posté 8 Juin 2005 Auteur Partager Posté 8 Juin 2005 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 More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant