lorik Posté 7 Juin 2005 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.
Country Posté 7 Juin 2005 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.
lorik Posté 7 Juin 2005 Auteur 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 ?
Country Posté 7 Juin 2005 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
Anonymus Posté 7 Juin 2005 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.
lorik Posté 8 Juin 2005 Auteur 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant