Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TEMPS D'EXECUTION


Information sur la source

Catégorie :Astuces Classé sous : temps, execution, mesure, performance Niveau : Initié Date de création : 02/07/2005 Date de mise à jour : 02/07/2005 10:58:02 Vu : 9 738

Note :
9 / 10 - par 5 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

Description

Que se soit dans un souci d'évaluation des performances de votre site ou tout simplement par curiosité, vous aurez tôt ou tard l'envie de chronométrer le temps d'execution de vos pages ou de l'une de vos fonctions.
 

Source

  • À mettre avant la partie à chronométrer:
  • php $depart=timer(); ?>
  • À mettre aprèsla partie à chronométrer:
  • <?php function timer()
  • {
  • $time=explode(' ',microtime());
  • return $time[1] + $time[2];
  • }
  • $fin=timer();
  • $delai=number_format($fin - $depart,7);
  • echo 'temps execution: ',$delai,' secondes.'; ?>
À mettre avant la partie à chronométrer:
php $depart=timer(); ?>
À mettre aprèsla partie à chronométrer:

<?php function timer()
       {
                 $time=explode(' ',microtime());
                 return $time[1] + $time[2];
      }
                
      $fin=timer();
      $delai=number_format($fin - $depart,7);
       echo 'temps execution: ',$delai,' secondes.'; ?>

Historique

02 juillet 2005 10:58:02 :
bug signalé par anthomicro

Commentaires et avis

signaler à un administrateur
Commentaire de Anthomicro le 02/07/2005 10:34:15

Salut,

php en minuscules, et quelques simples quotes dans le microtime() et le echo. Ensuite des virgules à la place des points dans le echo. Une fois ceci fait, ça sera la source la plus courte et la plus propre que j'aurai vue pour faire cette chose.

# <?php $depart=timer(); ?>
# À mettre aprèsla partie à chronométrer:
# <?php function timer()
#       {
#                 $time=explode(' ',microtime());
#                 return $time[1] + $time[2];
#       }
#                
#       $fin=timer();
#       $delai=number_format($fin - $depart,7);
#       echo 'temps execution: ',$delai,' secondes.'; ?>


Bref 9/10 pour ma part :-)

a +

signaler à un administrateur
Commentaire de cseagle le 02/07/2005 10:47:31

Salut,

Juste une question Anthomicro : pourquoi des virgules dans le echo ?

signaler à un administrateur
Commentaire de Anthomicro le 02/07/2005 10:48:30

C'est plus rapide à traiter par PHP.

signaler à un administrateur
Commentaire de GillesWebmaster le 02/07/2005 10:56:14

merci antho...
je corrigerai et merci pour la note

signaler à un administrateur
Commentaire de GillesWebmaster le 02/07/2005 10:58:37

je viens de corriger...
merci...

signaler à un administrateur
Commentaire de Anthomicro le 02/07/2005 11:02:23

arf petite faute en corrigeant le <?php en haut, t'as oublié de mettre <? devant

signaler à un administrateur
Commentaire de grandvizir le 02/07/2005 20:05:00

Y'a aussi ça qu'est pas mal du tout:
http://www.phpcs.com/code.aspx?id=30337

signaler à un administrateur
Commentaire de Anthomicro le 02/07/2005 20:51:17

tout à fait, ce code-ci est quand même meilleur :-)

signaler à un administrateur
Commentaire de massacr le 03/07/2005 15:53:10

Quand on utilise les templates, comment afficher le temps en comptant aussi le temps de génération de la template ?

Sinon, très bon code. 9/10.

signaler à un administrateur
Commentaire de Anthomicro le 03/07/2005 18:40:55

Bah tu mets le temps de départ tout en haut de ta page, le temps de fin en bas... Tout dépend de ton script t'es beaucoup trop vague.

signaler à un administrateur
Commentaire de massacr le 04/07/2005 12:51:11

Ba en fait, mon script commence comme ca :
<?php
$index = new Template(templates/);
$index->set_filenames(array('index' => 'index.tpl'));

et fini comme ca :
$index->pparse('index');
?>

Si je met l'affichage du temps après le parsing de la template, il ne s'affiche pas dans la template, si je le met avant, il ne compte pas le parsing de la template. Comment faire ?

signaler à un administrateur
Commentaire de Anthomicro le 04/07/2005 13:21:50

héhé, le mettre dans ta fonction pparse par exemple, vu que t'as rien après :-)

tu le mets à la fin de la fonction pparse.

a +

signaler à un administrateur
Commentaire de massacr le 04/07/2005 13:32:46

Ouais, pas bete. Mais faut que je modifie la classe PhpBB. je vais essayer.
Merci

signaler à un administrateur
Commentaire de SSB le 05/07/2005 02:46:51

Salut.

Bon j'ai essayé dans EasyPHP 1.7 avec le PHP.ini d'origine et cela ne fonctionne pas.

J'ai ce beau message d'erreur en entête :
Undefined offset: 2 in f:\1_easyphp1-7\www\dossier_trucs\1.1_(00_05_)\param.php on line 742

Et à la fin le même message et en permanence :
temps execution: 1.0000000 secondes

Par contre après avoir modifié comme ceci :

function timer()
       {
                 $time = explode(' ',microtime());
                 return $time[0] + $time[1];
       }

Tout fonctionne à merveille.

Au passage Anthomicro, j'ai pris l'habitude d'écrire mes variables sous cette forme echo 'truc '.$var.'';
Voir l'exemple ci-dessous.

echo '<table background="skins/'.$choix_skin.'/imgs/'.$sign_img_fd_tablo_smileys.'" style="border: thin solid '.$sign_coul_bord_tablo.'; font-family: '.$smil_police.', Verdana, Arial, Helvetica, sans-serif; font-size: '.$smil_taill_police.'; width: '.$sign_largeur_tablo.'; background-color: '.$sign_coul_fd_tablo.';">';

Donc si je remplace les points par des virgules, cela fonctionnera plus rapidement.
Est-ce que cela fonctionne pour des fput :

fputs($fp_scroll,'body {scrollbar-base-color: '.$nv_coul_barre_de_scroll.'; scrollbar-arrow-color: '.$nv_coul_barre_de_scroll_arrows.';}');

Et c'est indiqué où toutes ces techniques pour optimiser la rapiditée d'exécution?

Salut.

signaler à un administrateur
Commentaire de SSB le 05/07/2005 10:41:53

Re ...

Bon ben j'ai trouvé pas mal de réponses à mes questions dans le tuto de GRenard.
Ici : http://www.phpcs.com/code.aspx?id=24870

D'aillleurs, dans la partie "Concaténation", il préconise les points aux virgules ;)

Salut.

signaler à un administrateur
Commentaire de Anthomicro le 05/07/2005 12:13:55

C'est pas parce qu'il préconise sa façon de coder que c'est la meilleure ;-)

Bref les virgules ne sont possibles que dans les echo. Pour les variables ça ne fonctionne pas. Exemple :

$var='machin'.$variable.'machin'; //ok
echo 'machin',$variable,'machin'; //ok et plus rapide que echo 'machin'.$variable.'machin';

a + ;-)

signaler à un administrateur
Commentaire de Anthomicro le 05/07/2005 12:24:38

Bref quant à moi je te préconise les virgules pour simplement une question de rapidité, après tu prends évidemment ce que tu veux.

signaler à un administrateur
Commentaire de iphi le 18/07/2005 15:37:29

Ne marchant pas en l'état dans des includes (header.php et footer.php), j'ai fait ainsi et ca fonctionne :

À mettre avant la partie à chronométrer, (à la première ligne dans le header.php) :

<?php
function timer()
       {
                 $time=explode(' ',microtime());
                 return $time[0] + $time[1];
      }
  $depart=timer();
?>

À mettre après la partie à chronométrer, (dans le footer.php, juste avant la balise de fermeture </body>) :

<?php
$fin=timer();
$delai=number_format($fin - $depart,7);
echo ' Page génerée en : ',$delai,' secondes.';
?>

signaler à un administrateur
Commentaire de GillesWebmaster le 16/02/2008 15:42:41

Non mais franchement, pourquoi faire simple quand on peut faire compliqué?

<?php

$temps_depart = microtime(true);

//opérations//

$temps_fin = microtime(true);
$tempsdexecution = $temps_fin - $temps_depart;
?>

signaler à un administrateur
Commentaire de Dark_Balor le 02/06/2009 16:08:50

bah parce qu'avant php 5 n'était pas encore sortit

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

temps d'execution d'une requete [ par michong ] salut a tous je voudrais avoir le code pour calculer le temps d'execution d'une requete merci a tous temps d'execution de script max_execution_time [ par vincentforce ] Bonjour,J'ai un soucis au niveau du temps d'execution de script sur lequel, apparemment je n'ai aucun contr&#244;le : dans le fichier php.ini, la vari Temps d'execution [ par xactise ] Bonjours a vous tous une question me tarrode l'esprit (encore vous dites vous) et oui :)Voila j'ai lu dans diferent post (forum , commentaires de sour Pb temps execution et explorer php [ par elravage ] Voila, j'ai pris un explorateur sur ce site, je l'essai a mon stage et il me parait super. Le hic, c'est que l'explorateur doit voir ce qu'il y a dans calcller le temps d'execution via xmlhttprequest [ par el_bassir ] S.V.P:&nbsp;&nbsp; est ce qu'il ya quelqu'un qui connait un moyen de calculer le temps d'execution&nbsp; d'un script par l'objet XMLHTTPREQUEST?&nbsp; Execution en meme temps de plusieurs fonctions [ par shefiu ] Bonjour, J'aurais voulu savoir si c'était possible de lancer plusieurs fonctions en meme temps en php. J'ai une fonction et je voudrais qu'elle tourne suivre l'execution et l'affichage d'une boucle en temps réel [ par onico0 ] Bonjour, Je créer une petite page d'envoi de mails à ma base de données. Donc ça donne un truc genre : Code : PHP< Faire une suite d'insctruction à une date précise en php [ par Shikapowa ] Mesdames Mesdemoiselles Messieurs bonjour,Alors qu'il pleut intensément dehors, j'essaie de me consoler avec mon projet dans mon bureau et après moult connaître le nom du fichier appelant l'execution d'un autre fichier php [ par sagat06 ] Bonjour à tous.Voilà, à des fins de plus grande sécurité, j'amerais savoir le nom du fichier appelant un autre fichier php.Explication par l'exemple:1 reservation en temps réel [ par tiwtiwa11 ] salut les amis(es) Je suis entrain de faire un projet en PHP/Mysql sur les réservations des riads je dois affecter à chaque chambre un calendrier


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.