TEMPS D'EXECUTION

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 2 juil. 2005 à 10:34
Dark_Balor Messages postés 2 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 27 mai 2009 - 2 juin 2009 à 16:08
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/32471-temps-d-execution

Dark_Balor Messages postés 2 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 27 mai 2009
2 juin 2009 à 16:08
bah parce qu'avant php 5 n'était pas encore sortit
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
16 févr. 2008 à 15:42
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;
?>
iphi Messages postés 6 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 8 mars 2006
18 juil. 2005 à 15:37
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 ) :

<?php
$fin=timer();
$delai=number_format($fin - $depart,7);
echo ' Page génerée en : ',$delai,' secondes.';
?>
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
5 juil. 2005 à 12:24
Bref quant à moi je te préconise les virgules pour simplement une question de rapidité, après tu prends évidemment ce que tu veux.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
5 juil. 2005 à 12:13
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 + ;-)
cs_SSB Messages postés 6 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 11 avril 2006
5 juil. 2005 à 10:41
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.
cs_SSB Messages postés 6 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 11 avril 2006
5 juil. 2005 à 02:46
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.
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
4 juil. 2005 à 13:32
Ouais, pas bete. Mais faut que je modifie la classe PhpBB. je vais essayer.
Merci
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 juil. 2005 à 13:21
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 +
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
4 juil. 2005 à 12:51
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 ?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 juil. 2005 à 18:40
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.
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
3 juil. 2005 à 15:53
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.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 juil. 2005 à 20:51
tout à fait, ce code-ci est quand même meilleur :-)
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
2 juil. 2005 à 20:05
Y'a aussi ça qu'est pas mal du tout:
http://www.phpcs.com/code.aspx?id=30337
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 juil. 2005 à 11:02
arf petite faute en corrigeant le <?php en haut, t'as oublié de mettre <? devant
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
2 juil. 2005 à 10:58
je viens de corriger...
merci...
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
2 juil. 2005 à 10:56
merci antho...
je corrigerai et merci pour la note
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 juil. 2005 à 10:48
C'est plus rapide à traiter par PHP.
cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009
2 juil. 2005 à 10:47
Salut,

Juste une question Anthomicro : pourquoi des virgules dans le echo ?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 juil. 2005 à 10:34
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 +
Rejoignez-nous