Connaître le temps d’exécution d’un code php avec microtime()

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 930 fois - Téléchargée 27 fois

Contenu du snippet

Ce bout de code permet de calculer le temps d’exécution d’un script PHP…on prend le temps au début (variable btime) et a la fin (variable ctime) pour ensuite les rendre lisible…car microtime() renvois une valeur du genre 0.xxxxxxxx xxxxxxxxxx qui n’est pas utilisable mathématiquement. Donc on prend le bloc de chiffre situé à la fin (qui est un entier)…qu’on additionne à celui du début (qui est une fraction) pour obtenir un chiffre qui peut être placé dans une opération arithmétique. Alors on soustrait btime de ctime pour avoir atime qui est coupé pour ne posséder que 6 chiffres à la suite de la virgule.
On vérifie que le chiffre avant la virgule ne soit pas supérieur ou égale à 2 pour placer "secondes" ou "seconde" selon le cas.

Dans 282 ans et demi ce code ne fonctionnera plus car l’entier n’aura plus 14 chiffres… mais bien 15, car il représente le nombre de secondes écoulées depuis le 1er janvier 1970… mais je doute que ce problème soit à prendre en compte

Source / Exemple :


<?php
$btime=microtime();

//Vous placé ici le code à 'chronométrer'

$ctime=microtime();

$dtime=substr($btime, 15, 6);
$etime=substr($ctime, 15, 6);
$btime=substr($btime, 0, 8);
$ctime=substr($ctime, 0, 8);

$btime=$btime+$dtime;
$ctime=$ctime+$etime;

$atime=$ctime-$btime;

$atime=substr($atime, 0, 8);
$ftime=substr($atime, 0, 1);

if($ftime <= "1"){$stime="seconde";}else{$stime="secondes";}
echo"<center> Script PHP exécuté en $atime $stime</center>";
?>

Conclusion :


Si vous voyez quelque chose de pas correcte, dites le moi :)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
25
Date d'inscription
mercredi 12 mai 2010
Statut
Membre
Dernière intervention
26 mai 2011

doone le programme dune methode part avaec java
Messages postés
32
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
5 juillet 2006

DarkBoss> c'est une idée

cbibi> ça je le sais...mais ne me dit pas que je suis le premier à envoyer quelque chose dont le concept est déja vu ;)
Messages postés
154
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
12 décembre 2008

moi perso a la fin je ne mettrai pas temps de chiffre
g remplacerai le dernier echo par :

@list($seconde, $micro) = explode(".", $atime);
echo "<center> Script PHP exécuté en ".$seconde.",".$micro[0].$micro[1]." $stime
";

ou alors laisser un choix avec un truc du style if($action=="detail") etc....
+++
Messages postés
112
Date d'inscription
mardi 24 juin 2003
Statut
Membre
Dernière intervention
11 novembre 2007

Deja passer ...
Messages postés
32
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
5 juillet 2006

oui...j'ai fait ce script en quelque minutes...sans me possé trop de question...j'en avais besion pour testé une petite chose...je me suis dit qu'il pourait servir a quelque'un d'autre...sinon je n'ai pas fait bien attention de le simplifier puisqu'il fonctionnai déja ;)
libre à chaqu'un d'en faire ce qu'il veut
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Taka_s_tiger)