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![]()
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![]()
Je copies / colle l'exemple 1 dans n'importe quel endroit (d'ou je veux faire affciher) non ?
Tiens c'est cadeau...
http://www.developpez.net/forums/vie...=asc&start=112
Tu dira merci à Genova![]()
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"; ?>
thanathz, dis donc le code est super long
vais tester...
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...
Envoyé par SangKou
8)Plus c'est long, plus c'est bon
Je suis déjà sorti ...
c'est bizarre parce que j'ai testé et cela ne m'affiche rien...
montre ton code... (entre balises [code] please)
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>
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 bienEt là, tu va voir... c'est la grande classe
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();
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();
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...
je dois donc tout simplement remplacer de
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "Ne rien faire pendant $time secondes\n";
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo round(3.4); // 3
(désolé si c'est une connerie...)
Partager