Accueil > > > TEMPS D'EXECUTION (BIS ET PLUS SIMPLE)
TEMPS D'EXECUTION (BIS ET PLUS SIMPLE)
Information sur la source
Description
pas de moquerie c'est la premiere source que je pose.
Source
- <?
- //premiere fonction qui renvoie un temps unix plus les millisecondes (1030575023.8341)
- function getmicrotime(){
- list($msec,$utime)=explode(" ",microtime());
- return($utime+$msec);
- }
-
- //deuxieme fonction qui renvoie la difference
- function process_time($time_start, $time_end){
- return substr(($time_end - $time_start),0,7);
- }
-
- echo "t_start = ".$t_start = getmicrotime();
-
- list($demomillisec,$demotemps) = explode(" ",microtime());
-
- ?>
- <br><br>
- fonction process_time[how to ;-)]:
- <br><br>
- function getmicrotime(){
- <br>
- list($msec,$utime)=explode(" ",microtime());
- <br>
- return($utime+$msec);
- <br>
- }
- <br>
- function process_time($time_start, $time_end){
- <br>
- return substr(($time_end - $time_start),0,7);
- <br>
- }
- <BR><br>
- Voila le temps renvoyé par microtime(); --><? echo microtime(); ?> qui est toujours en deux parties :
- <br>
- la valeur en milliseconde de la seconde courante ---> <? echo $demomillisec ?>
- <br>
- et le temps mesurée en secondes depuis le début de l'époque UNIX, (1er janvier 1970 00:00:00 GMT) que l'on peut aussi avoir avec la fonction time() ---> <? echo time();?>
- <br><br>
- list($var1,var2) permet d'assigner une série de variables en une seule ligne.
- <br>
- elle va nous permettre de récuperer le resulat de explode() dans deux variables<br>
- $msec --> <?echo $demomillisec; ?><br>
- $utime --> <? echo $demotemps; ?>
- <br><br>
- explode sert à "exploser" une chaine suivant un argument(caractere,chaine,expressions regulieres)
- <br>
- ici c'est un espace " " car microtime() renvoie les données séparées par un espace
- <br>
- c'est pourquoi list() n'as que deux arguments car on aura deux retours de données.
- <br><br>
- return($utime+$msec);
- <br>
- attention le temps unix sera un entier alors que les millisecondes seront à virgules flottantes
- <br>
- on peut aussi faire ca pour convertir les valeurs sur le meme type mais ca change rien (du au php)
- <br>
- return((float)$utime+(float)$msec);
- <br>
- on retourne le resultat de l'addition à la variable qui a demande le temps $temps1 = getmicrotime();
- <br><br>
- pour finir process_time demande deux arguments un debut et une fin et retourne la soustration de la fin et du debut de la mesure du temps.
- <br>
- la chaine retourné est modifie par substr() qui va renvoyer un partie de la chaine et demande trois arguments
- <br><br>
- la chaine à traiter,
- <br>
- le debut (attention 0 vaut le premier caractere)
- <br>
- la fin (facultatif si ommis renvoie le reste) ici 7 donne 5 chiffres aprés la virgule car 0 vaut un caractere et . en vaut un de plus.
- <br><br>
- quelques resultats à chaud
- <br>
- <?
- echo "temps 1 = ".$t1 = getmicrotime();
- echo "<br>";
- echo "temps 2 = ".$t2 = getmicrotime();
- echo "<br>";
- echo "temps de traitement entre temps 1 et temps 2 = ".$proc = process_time($t1,$t2);
- ?>
- <br><br>
- vous avez peut etre vu t_start en haut de la page !!!!
- <br><br>
- <?
- echo "temps entre t_start et temps 1 = ".$proc = process_time($t_start,$t1);
- echo "<br>";
- echo "temps entre t_start et temps 2 = ".$proc = process_time($t_start,$t2);
- echo "<br>";
- ?>
- <br>
- voila une fonction modulable qui permet d'etre incluse sans probleme
- <br>
- pour ma part les deux fonctions sont dans un fichiers "librairies" j'inclus le fichier,
- <br>
- je lance la variable demande de temps debut et
- <br>
- à la fin de la page j'inclus un autre fichier qui contient le pieds de page,
- <br>
- la variable de demande de temps fin et la variable qui appelle le calcul.
- <br><br>
- t_end
- <br><br>
- <?
- $t_end = getmicrotime();
- echo "temps de generation de cette page ".$proc = process_time($t_start,$t_end);
- ?>
<?
//premiere fonction qui renvoie un temps unix plus les millisecondes (1030575023.8341)
function getmicrotime(){
list($msec,$utime)=explode(" ",microtime());
return($utime+$msec);
}
//deuxieme fonction qui renvoie la difference
function process_time($time_start, $time_end){
return substr(($time_end - $time_start),0,7);
}
echo "t_start = ".$t_start = getmicrotime();
list($demomillisec,$demotemps) = explode(" ",microtime());
?>
<br><br>
fonction process_time[how to ;-)]:
<br><br>
function getmicrotime(){
<br>
list($msec,$utime)=explode(" ",microtime());
<br>
return($utime+$msec);
<br>
}
<br>
function process_time($time_start, $time_end){
<br>
return substr(($time_end - $time_start),0,7);
<br>
}
<BR><br>
Voila le temps renvoyé par microtime(); --><? echo microtime(); ?> qui est toujours en deux parties :
<br>
la valeur en milliseconde de la seconde courante ---> <? echo $demomillisec ?>
<br>
et le temps mesurée en secondes depuis le début de l'époque UNIX, (1er janvier 1970 00:00:00 GMT) que l'on peut aussi avoir avec la fonction time() ---> <? echo time();?>
<br><br>
list($var1,var2) permet d'assigner une série de variables en une seule ligne.
<br>
elle va nous permettre de récuperer le resulat de explode() dans deux variables<br>
$msec --> <?echo $demomillisec; ?><br>
$utime --> <? echo $demotemps; ?>
<br><br>
explode sert à "exploser" une chaine suivant un argument(caractere,chaine,expressions regulieres)
<br>
ici c'est un espace " " car microtime() renvoie les données séparées par un espace
<br>
c'est pourquoi list() n'as que deux arguments car on aura deux retours de données.
<br><br>
return($utime+$msec);
<br>
attention le temps unix sera un entier alors que les millisecondes seront à virgules flottantes
<br>
on peut aussi faire ca pour convertir les valeurs sur le meme type mais ca change rien (du au php)
<br>
return((float)$utime+(float)$msec);
<br>
on retourne le resultat de l'addition à la variable qui a demande le temps $temps1 = getmicrotime();
<br><br>
pour finir process_time demande deux arguments un debut et une fin et retourne la soustration de la fin et du debut de la mesure du temps.
<br>
la chaine retourné est modifie par substr() qui va renvoyer un partie de la chaine et demande trois arguments
<br><br>
la chaine à traiter,
<br>
le debut (attention 0 vaut le premier caractere)
<br>
la fin (facultatif si ommis renvoie le reste) ici 7 donne 5 chiffres aprés la virgule car 0 vaut un caractere et . en vaut un de plus.
<br><br>
quelques resultats à chaud
<br>
<?
echo "temps 1 = ".$t1 = getmicrotime();
echo "<br>";
echo "temps 2 = ".$t2 = getmicrotime();
echo "<br>";
echo "temps de traitement entre temps 1 et temps 2 = ".$proc = process_time($t1,$t2);
?>
<br><br>
vous avez peut etre vu t_start en haut de la page !!!!
<br><br>
<?
echo "temps entre t_start et temps 1 = ".$proc = process_time($t_start,$t1);
echo "<br>";
echo "temps entre t_start et temps 2 = ".$proc = process_time($t_start,$t2);
echo "<br>";
?>
<br>
voila une fonction modulable qui permet d'etre incluse sans probleme
<br>
pour ma part les deux fonctions sont dans un fichiers "librairies" j'inclus le fichier,
<br>
je lance la variable demande de temps debut et
<br>
à la fin de la page j'inclus un autre fichier qui contient le pieds de page,
<br>
la variable de demande de temps fin et la variable qui appelle le calcul.
<br><br>
t_end
<br><br>
<?
$t_end = getmicrotime();
echo "temps de generation de cette page ".$proc = process_time($t_start,$t_end);
?>
Conclusion
Voila vous pouvez lire ou copier/coller et mettre sur un serveur et executer parce qu'un beau dessin,etc,etc,....et que vous le valez bien !!!
Pour ceux qui veulent s'exercer aux conversion de date, vous devriez pouvoir me dire la date a la milliseconde pres a laquelle j'ai rédigé ces quelques lignes ;-)
pas de merci, pas d'update, pas de bug c'est pret à l'emploi
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
calcul du temps d'exécution [ par YEBOKOLO ]
je cherchais à vérifier un code pour calculer le temps d'exécution d'une page ou d'une requête (sans utiliser un code très ou trop compliqué) et je n'
Temps de chargement d'une page ? [ par smed79 ]
bonjour,je veux afficher le temps de chargement d'une page par exemple :Page charge en : 0.001 secondeouThis page was generated in : 0.001
temps d'exécution [ par YEBOKOLO ]
je cherche un bout de code pour calculer le temps d'exécution d'une requête, y a t il une différence entre le temps d'exécution d'
tirage aléatoire et affichage pour un temps donnée [ par titeuf974 ]
Bonjour!Voila. J'ai une requète qui extrait une infomation aléatoire d'une base données pour l'afficher sur une page. Cela marche tr
Problème de chargement d'images dans page web [ par LeilaNice ]
Bonjour à tous,je suis en formation et j'ai un site à créer pour mon exam. J'ai créé mon interface sous photoshop que j'ai d&
insertion de smiley dans un formulaire [ par zave ]
Bonjour à tousJe travail en ce moment sur la conception d'un script permettant de laisser des commentaires à la fin d'une pageAyant réu
Parser une chaîne [ par thomvaill ]
Bonjour à tous, Je vous explique ma question, je reçois d'un serveur IRC (par un socket) de temps en temps une chaîne (pas à chaqu
Dessiner une fraction [ par nisaloncaje ]
Bonjour, je travaille en php et je me demandais s'il existait un moyen de dessiner une fraction : pour cela j'ai pensé à deux méthodes
Le temps, et PHP [TITRE MODERE CAR NON PERTINENT!] [ par fcherif ]
Salut à vous tous,Voilà voilà... Je me suis casser la tête pour trouver la solution qui me convient mais niet... :( Bon je vous ex
calcller le temps d'execution via xmlhttprequest [ par el_bassir ]
S.V.P: est ce qu'il ya quelqu'un qui connait un moyen de calculer le temps d'execution d'un script par l'objet XMLHTTPREQUEST?
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|