temps de generation aléatoire

temps de generation aléatoire - PHP - Programmation

Marsh Posté le 26-11-2003 à 13:48:38    

salut tout le monde  :hello:  
 
voila j'ai un truc bizzare avec mon forum, quand je teste mon forum en local j'ai un temps de génération trés rapide (0.03s), alors que lorsque j'accede a partir d'un autre endroit sur internet, he bien j'ai un temps de generation trés long (1s) .
 
Voyez vous d'ou peu venir ce probleme? :??:
 
C'est pas un probleme d'optimisation puisque c'est la meme page que j'affiche, mais avec des temps de generation trés different :/
 
merci d'avance a ce qui pourrons m'aider a resoudre ce mystere :jap:
 
 


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 26-11-2003 à 13:48:38   

Reply

Marsh Posté le 26-11-2003 à 13:51:59    

Montres le code. Ca peut venir du code de temps de generation comme  de celui a executer entre deux.

Reply

Marsh Posté le 26-11-2003 à 13:55:46    

Code :
  1. ////////////////////////////////////////////////
  2. //fonction generation page
  3. function generation($second_time, $micro_time)
  4. {
  5. return round(((date('U') + microtime()) - ($second_time + $micro_time)), 3);
  6. }
  7. $pre_time = microtime();
  8. $pre_sec = date('U');
  9. //fin fonction generation page
  10. ////////////////////////////////////////////////
  11. /*code php*/
  12. //affichage temps
  13. echo "<p align=\"center\">page générée en ".generation($pre_sec, $pre_time)." s</p>";


Message édité par forummp3 le 26-11-2003 à 13:57:04

---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 26-11-2003 à 14:01:00    

Code :
  1. <?php
  2.   function getmicrotime(){
  3.     list($usec, $sec) = explode(" ",microtime());
  4.     return ((float)$usec + (float)$sec);
  5.   }
  6.   $time_start = getmicrotime();
  7.   for ($i=0; $i > 1000; $i++){
  8.     //ne rien faire, pendant un millier de fois...
  9.   }
  10.   $time_end = getmicrotime();
  11.   $time = $time_end - $time_start;
  12.   echo "Rien fait durant $time secondes";
  13. ?>


tire de la doc php.
 
microtime() retourne la chaîne "msec sec". Avec un explode, tu as msec d'un cote et sec de l'autre.
pas besoin de date('U') ...

Reply

Marsh Posté le 26-11-2003 à 14:04:01    

karamilo a écrit :

Code :
  1. <?php
  2.   function getmicrotime(){
  3.     list($usec, $sec) = explode(" ",microtime());
  4.     return ((float)$usec + (float)$sec);
  5.   }
  6.   $time_start = getmicrotime();
  7.   for ($i=0; $i > 1000; $i++){
  8.     //ne rien faire, pendant un millier de fois...
  9.   }
  10.   $time_end = getmicrotime();
  11.   $time = $time_end - $time_start;
  12.   echo "Rien fait durant $time secondes";
  13. ?>


tire de la doc php.
 
microtime() retourne la chaîne "msec sec". Avec un explode, tu as msec d'un cote et sec de l'autre.
pas besoin de date('U') ...

tu pense que le probleme viens de la ?


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 26-11-2003 à 14:08:01    

peut etre bien.
essaies, tu seras fixe.  
En tout cas, meme si ca vient pas de la, ton systeme est plutot bizarre ;)
 
edit:
en tout cas, en essayant sur une page, j'ai pas le meme temps de gene avec les 2 methodes. Et je me firais plutot a la methode de la doc :p


Message édité par karamilo le 26-11-2003 à 14:08:56
Reply

Marsh Posté le 26-11-2003 à 16:26:44    

Le temps que tu mesures tient compte du temps d'envoie de la page du serveur vers le client et donc de la vitesse de connexion du client.
 
Pour séparer le temps de génération du temps d'envoie, utilises ob_start() et ob_end_flush()
 
1- Mesure de l'heure de début -> $D
2- ob_start();
3- génération de la page;
4- mesure de l'heure de fin de génaration -> $G
5- ob_end_flush();
6- mesure de l'heure de fin d'envoie -> $E
 
Temps de génération = $G - $D.
Temps de d'envoie = $E - $G.
Temps total = $E - $D.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-11-2003 à 17:22:02    

Mara's dad a écrit :

Le temps que tu mesures tient compte du temps d'envoie de la page du serveur vers le client et donc de la vitesse de connexion du client.
 
Pour séparer le temps de génération du temps d'envoie, utilises ob_start() et ob_end_flush()
 
1- Mesure de l'heure de début -> $D
2- ob_start();
3- génération de la page;
4- mesure de l'heure de fin de génaration -> $G
5- ob_end_flush();
6- mesure de l'heure de fin d'envoie -> $E
 
Temps de génération = $G - $D.
Temps de d'envoie = $E - $G.
Temps total = $E - $D.
 

les fonctions qui commence par ob_ sont désactivé sur mon hebergeur [:spamafote]


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 26-11-2003 à 17:45:03    

Ben fait ta propre fonction...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed