CALCUL DU TEMPS D'EXÉCUTION D'UNE PAGE

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 7 déc. 2004 à 18:49
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 12 déc. 2004 à 16:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28048-calcul-du-temps-d-execution-d-une-page

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
12 déc. 2004 à 16:37
il y a une explication possible: comme je le disais plus haut, si le serveur apache envoie les infos au fur et à mesure et que le client est configuré pour également exécuter (lire, interpréter, afficher...) à mesure que les données arrivent, le script JS est bien appelé (pour l'enregistrement du temps) avant l'exécution du PHP, et ça explique tout.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 déc. 2004 à 14:20
et si tu ajoutes sleep(7); dans ton code, le résultat du js à vraiment 7 secondes de plus ??
stanilou Messages postés 193 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 18 novembre 2009
12 déc. 2004 à 14:10
Toi tu as dit:
"ton js n'est pas précis et commence qiuand le php à déja été exécuté c'est pour ça...
Faut additionner les deux pour avoir le temps de chargement..."
Or mon js est trés précis, pris au chrono avec un trés long code php (le script indiqué environ 2,3secondes) alors que le chrono indiqué 5,2 et le code js 5,18 !
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 déc. 2004 à 13:46
teps de chargement = temps que le client attends

temps d'exécution = temps pendant lequel un programme s'exécute, dans le cas présent le programme est uniquement le code php interprété par apache (ou autre)...
stanilou Messages postés 193 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 18 novembre 2009
12 déc. 2004 à 13:07
Je ne sais pas mais tu as employer le terme "chargement" !
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 déc. 2004 à 13:02
temsp de chargement oui mais temps d'exécution, c'est juste le code...


Regardes ce code :


sleep(7);

si tu ne mets que ça et ton truc js, ton js rends quoi ?? combien ?? selon moi il devrait rendre très peu....
stanilou Messages postés 193 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 18 novembre 2009
12 déc. 2004 à 12:56
Euh t sur?
Par ce que le temps de chargement ca comporte le temps d'affichage des images....
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 déc. 2004 à 12:40
ton js n'est pas précis et commence qiuand le php à déja été exécuté c'est pour ça...

Faut additionner les deux pour avoir le temps de chargement...
stanilou Messages postés 193 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 18 novembre 2009
12 déc. 2004 à 09:47
Ouai ba c'est bizarre car je ne contient pas de header(), ni de cookie dans la page mesuré et quand je lance ma page, moi je met entre 0.08 et 0.11, toujours a n'importe quel moment de la journée... Alors que pour les visiteurs, ça varie entre 0.05 et 0.4 ce qui est vraiment trés large.... Alors pourquoi moi c'est constant alors que je fais des tests trés régulierement? Pourquoi un même visiteur à des valeurs toujours égal à 0.05 près? Ceci restera je pense un mystere...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
12 déc. 2004 à 00:53
ça dépend de la charge du serveur à ce moment précis, a priori comme ça je vois pas trop ce qui pourrait influencer d'autre. à moins que ton codes ne contiennent des appels à la fonction header() qui modifie les en-têtes HTTP, et je pense (mais je ne suis pas certain) que cette fonction prend effet immédiatement et attend la confirmation du client, auquel cas le temps mis dépendra aussi du client (connexion, vitesse de son client HTTP...). la fonction set_cookie est de la même nature puisque c'est une question d'en-tête HTTP.
stanilou Messages postés 193 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 18 novembre 2009
12 déc. 2004 à 00:47
Ah oui excuse, j'avais mal compris ce message, en fait c'est le sens du mot "exécution" qui me tracassé... Moi j'avais le temps de chargement de la page mais en javascript...
Ceci dit un detail m'étonne, normalement, le temps d'exuction d'un script php depend du script et du serveur et non du client.... Alors pourquoi est ce que pour moi je met 0,09 secondes alors que d'autre visiteur mettes entre 0,05 et 0,48 secondes? Donc ca veut bien dire qu'il y a un rapport entre le client et le script php...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
11 déc. 2004 à 22:14
À priori, en PHP, et plus largement avec un langage exécuté du côté serveur, tu ne pourras jamais calculer le temps de chargement (de téléchargement de la page), justement parce que le script php prend fin avant l'envoie des données (sauf si tu demandes à PHP de flusher la sortie standard le plus souvent possible, mais ça ne résout pas le problème). Ce genre de script te permet uniquement de tester l'efficacité de tes scripts et d'évaluer les capacités de ton serveur, pour éventuellement repérer les pages critiques à optimiser (cache, précalcul, changement du code...)
D'ailleurs, c'est la remarque que j'ai faite il y a 3-4 messages, fallait peut-être lire les comments ^^.
transfear Messages postés 58 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 29 septembre 2006
11 déc. 2004 à 20:37
Oh mais tu as tout à fait raison, mais c'est le sens du mot exécution qui est défaillant, ici... je conçois bien que ce mot ne convient pas à tout le monde (certains l'apellent chargement, d'autres exécution, ou, comme toi, lecture entière du script).

En effet, le script ne vérifie pas le temps d'AFFICHAGE de la page, mais bien celle de son exécution, au niveau du serveur ;). Si tu cherches un script donnant le temps d'affichage de la page, désolé mais c'est pas ici lol tu es mieux avec ton chrono ;).
stanilou Messages postés 193 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 18 novembre 2009
11 déc. 2004 à 19:03
Note: Ton systeme marche vraiment??? Ou alors je ne comprend pas trés bien le sens du mot "EXÉCUTION"...
En fait ce que tu calcule, c'est le temps que met la page dans sa lecture de haut en bas mais non pas le temps d'exécution de la page... Véridique, essai ce petit test, sur un site, tu met une image de 5Mo et tu met ton script (toi tu prend un chrono en main), regarde le temps qu'il calcule compare à celui pris au chrono... Ca fait une différence énorme.
(Si tu ne veut pas t'embéter va sur http://membres.lycos.fr/natsboss/fera.php en regarde la diiférence entre le vrai temps, dans la barre de status et celui de avec ta technique juste en dessous de la photo... Compare la différence énorme de temps!)
Ps: Je te dit ça car j'avais dejà pensé a ce type de script mais les résulats n'était pas réél...

Bye bye
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2004 à 14:40
y a pas de mal ^^
transfear Messages postés 58 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 29 septembre 2006
8 déc. 2004 à 14:36
Ouais dans le fond Kirua tu as raison... désolé pour cette erreur de langage ;)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2004 à 14:33
c'est pas le temps de chargement, c'est le temps d'exécution du script (génération de la page par PHP).
transfear Messages postés 58 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 29 septembre 2006
8 déc. 2004 à 02:32
Primo: non il n'y a pas moyen d'inclure la première fonction dans la seconde car il faut définir un moment de départ dans la premiere fonction qui sert de point de départ pour le chrono. Si on l'inclus dans la seconde fonction, le temps de chargement de la page ne sera plus le même (il sera raccourci de beaucoup).

Secundo: explode sert à créer un tableau (array) dans lequel chaque ligne comporte les microsecondes (en timestamp) séparées par les espaces (un peu comme ferai un float).

Si tu désires plus de détails, tu peux toujours te référer au manuel PHP en ligne disponible à cette adresse:
http://www.php.net/manual/fr/
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 déc. 2004 à 18:49
euh.. y a moyen d'utiliser ta prmière fonction dans ta seconde (ce qui rendrait plus clair ta page)
et ton exemple a la fon ne fonctionne pas....

à quoi sert explode exactement ?
Et microtime renvoi quoi ?
Rejoignez-nous