begin process at 2010 03 21 10:17:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > TEMPS D'EXECUTION

TEMPS D'EXECUTION


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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 :11 888

Auteur : GillesWebmaster

Ecrire un message privé
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

 Sources du même auteur

Source avec Zip Source avec une capture VIGNETTE EN RECADRANT AVEC TAILLE FIXE!
Source avec Zip Source avec une capture N/X API: GOOGLE MAPS DEPUIS PHP VALID W3C
Source avec Zip Source avec une capture CARTE DE L'EUROPE EN FONCTION DES VISITEURS
XML AVEC SIMPLE XML
NEWSLETTER SIMPLE ENREGISTREMENT DES DONNES

 Sources de la même categorie

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip POO - DEBUGGER par DiGhan
Source avec Zip CRAWLER DE SITE EN PHP par Mcjo
DÉCOUPAGE D'UN TEXTE EN FONCTION DES SAUTS DE LIGNES par biloubil
RÉCUPÉRER LE CHEMIN RELATIF D'UN OBJET PAR RAPPORT À LA RACI... par FredPsy

 Sources en rapport avec celle ci

EXECUTER UN SCRIPT LONGUE DURÉE SANS LIMITATION DU SERVEUR par MadM@tt
CLASSE FEUILLE DE TEMPS PHP5 par guill76
Source avec Zip Source avec une capture EMPLOI DE TEMPS SALLE par The_Samurai
CLASSE DE CALCUL DE TEMPS D'ÉXECUTION par onigoetz
CALCUL DU TEMPS ÉCOULÉ ENTRE 2 DATES par pagis78

Commentaires et avis

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 +

Commentaire de cseagle le 02/07/2005 10:47:31

Salut,

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

Commentaire de Anthomicro le 02/07/2005 10:48:30

C'est plus rapide à traiter par PHP.

Commentaire de GillesWebmaster le 02/07/2005 10:56:14

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

Commentaire de GillesWebmaster le 02/07/2005 10:58:37

je viens de corriger...
merci...

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

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

Commentaire de Anthomicro le 02/07/2005 20:51:17

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

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.

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.

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 ?

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 +

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

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.

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.

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 + ;-)

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.

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.';
?>

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;
?>

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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,529 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales