IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Temps génération page...


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut Temps génération page...
    coucou

    j'aimerais bien avoir un script php qui permettre d'afficher le temps génération de la page (Cette page est affichée en 0.0024 s par ex)

    merci d'avance

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    http://php.net/microtime
    exemple1 8)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    Je copies / colle l'exemple 1 dans n'importe quel endroit (d'ou je veux faire affciher) non ?

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Ben après avoir compris ce qu'il fait oui.

  5. #5
    Membre éprouvé
    Avatar de thanathz
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Par défaut
    Tiens c'est cadeau...
    http://www.developpez.net/forums/vie...=asc&start=112
    Tu dira merci à Genova

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    Cela s'affiche 0.015109062194824 secondes...

    Comment on fait pour n'avoir que les 3 chiffres apres la virgule ?

    (rappel le code source)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    /**
    * Fonction simple identique à celle en PHP 5 qui va suivre
    */
    function microtime_float()
    {
      list($usec, $sec) = explode(" ", microtime());
      return ((float)$usec + (float)$sec);
    }
     
    $time_start = microtime_float();
     
    // Attend pendant un moment
    usleep(100);
     
    $time_end = microtime_float();
    $time = $time_end - $time_start;
     
    echo "Ne rien faire pendant $time secondes\n";
    ?>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    thanathz, dis donc le code est super long

    vais tester...

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    thanathz, c'est pas de ce que je voulais parce que ton lien qui permettre de claculer le temps generation d'un script... et moi je voulais c'est le temps generation d'une page...

  9. #9
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par SangKou
    thanathz, dis donc le code est super long
    Plus c'est long, plus c'est bon
    8)




    Je suis déjà sorti ...

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    personne ?

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    script == page

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    c'est bizarre parce que j'ai testé et cela ne m'affiche rien...

  14. #14
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    montre ton code... (entre balises [code] please)

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    j'ai essayé (rien que pour voir puis je metterai dans la vraie page)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    </head>
     
    <body>
    <?php
    class bench
    {
       // Contient les différents temps pour les étapes
       var $data = array();
     
       // Temps final
       var $end = 0;
     
       // Temps de départ
       var $start = 0;
     
       /*
       ** Constructeur de la classe bench.
       ** Initialise le temps de départ.
       */
       function bench()
       {
          $this->start = $this->get_time();
       }
     
       /*
       ** Créé un marqueur qui retient le temps écoulé.
       ** -----
       ** $name :: Nom du marqueur.
       */
       function set_mark($name)
       {
          $this->data[] = array('name' => $name, 'time' => $this->get_time());
       }
     
       /*
       ** Sauvegarde le temps final et affiche tous les temps des marqueurs,
       ** avec un certain nombre de statistique.
       */
       function finish()
       {
          $this->end = $this->get_time();
          $total = $this->end - $this->start;
     
          echo '
             <table width="800" align="center" style="border: solid 1px #000000;">
                <tr>
                   <td style="background-color: #cccccc; font-weight: bold; text-align: center;" colspan="4">Benchmark</td>
                </tr>
                <tr>
                   <td style="background-color: #dddddd; width: 400px; text-align: center;" colspan="2">Temps d\'éxécution total :</td>
                   <td style="background-color: #eeeeee; text-align: center;" colspan="2">' . ($total) . '</td>
                </tr>
                <tr>
                   <td style="background-color: #cccccc; font-weight: bold; text-align: center;" colspan="4">Marqueurs</td>
                </tr>
                <tr>
                   <td style="background-color: #dddddd; width: 200px; text-align: center; font-weight: bold;">Nom du marqueur</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center; font-weight: bold;">Temps du marqueur</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center; font-weight: bold;">Temps passé</td>
                   <td style="background-color: #dddddd; width: 200px; text-align: center; font-weight: bold;">Pourcentage d\'éxécution</td>
                </tr>
                <tr>
                   <td style="background-color: #dddddd; width: 200px; text-align: center;">Temps de départ :</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center;">' . ($this->start) . '</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center;">' . (0) . '</td>
                   <td style="background-color: #dddddd; width: 200px; text-align: center;">0%</td>
                </tr>
          ';
          foreach ($this->data AS $v)
          {
             $time_added = $v['time'] - $this->start;
             $percent = ($time_added / $total) * 100;
             echo '
                <tr>
                   <td style="background-color: #dddddd; width: 200px; text-align: center;">Marqueur ' . $v['name'] . ' :</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center;">' . ($v['time']) . '</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center;">' . ($time_added) . '</td>
                   <td style="background-color: #dddddd; width: 200px; text-align: center;">' . round($percent) . '%</td>
                </tr>
             ';
             $before = $v['time'];
          }
          echo '
                <tr>
                   <td style="background-color: #dddddd; width: 200px; text-align: center;">Temps d\'arrivé :</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center;">' . ($this->end) . '</td>
                   <td style="background-color: #eeeeee; width: 200px; text-align: center;">' . ($total) . '</td>
                   <td style="background-color: #dddddd; width: 200px; text-align: center;">100%</td>
                </tr>
             </table>
          ';
       }
     
       /*
       ** Renvoie un temps pour le benchmark.
       */
       function get_time()
       {
          $ary = explode(' ', microtime());
          return ($ary[0] + $ary[1]);
       }
    }
    ?> 
    </body>
    </html>

  16. #16
    Membre éprouvé
    Avatar de thanathz
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Par défaut
    Le temps d'affichage d'une page dépend de ta connexion!!

    Pour afficher une page avec mon modem 56k, je vais mettre disons 15s. Si je fais la même opération à partir de mon boulot, je vais en avoir pour 40s.

    Tout ce que tu peux être sûr c'est le temps d'execution de ton script. A cela il faut que tu ajoutes la taille complète de ta page (images comprises).

    le tout divisé par ton débit et tu as le temps (aproximatif) d'affichage d'une page.


    Le code que je t'ai filé à l'énorme avantage de pouvoir mettre plusieurs points de vérification.
    Moi pour le dev j'ai adopté, car c'est vraiment très clair à utiliser

    [GRILLED]
    tu crées un fichier class.bench.php ou tu colle le code de la classe bench fournie.
    Tu fait dans ton script ou tu veux l'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include('class.bench.php'); // avec le chemin qui va bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $bench = new bench();
    // du code
    $bench->set_mark("nom de la marque");
    // du code
    $bench->set_mark("une autre marque");
    // du code
    $bench->finish();
    Et là, tu va voir... c'est la grande classe

  17. #17
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Si tu n'es pas familier avec l'objet ca risque d'etre dur d'utiliser ce code... Essaie plutot de voir avec la fonction microtime que je t'ai proposé plus haut...

    Sinon tu dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $o = new Bench();
    ...
    ...
    //ton code ici
    ...
    ...
    $o->finish();

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    je veux bien utiliser microtime car c'est plus facile pour moi (un type débutant quoi :s)

    mais je te demande tu sais comment faire pour réduire le nombre caractere ?

    car il s'affiche 0.015468792 j'aimerais bien que cela selimit à 0.015...

  19. #19
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    http://php.net/round

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    je dois donc tout simplement remplacer de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Ne rien faire pendant $time secondes\n";
    par

    ?

    (désolé si c'est une connerie...)

Discussions similaires

  1. Outil calcul temps génération de la page serveur
    Par nesswaw dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 02/11/2013, 16h21
  2. [Système] poids-temps des pages
    Par rolandcire dans le forum Langage
    Réponses: 11
    Dernier message: 28/09/2006, 02h22
  3. [Vba-E] Génération page
    Par antoinelavigne dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/06/2006, 11h17
  4. Temps génération PhP & MySql
    Par WebChamoland dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 09/03/2006, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo