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 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'
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
courbes avec en ordonnée axe Y une durée temps [ par arrakis_paris75 ]
Bonjour,J'aimerais faire un graphe avec en axe X les dates (2008-07-28, ...) et axe Y les durees temps (20:54:47).Jpgraph ne semble pas pouvoir faire
Chargement page coté navigateur trop long [ par chalex ]
Bonjour,j'ai programmé un petit jeu sur lequel j'ai une grille de 8000 cases à afficher avec une requete (qui fonctionne bien) pour savoir pour chaque
Problémes avec Fpdf [ par Psyroy ]
Bonjour à tous, Je débute dans les scripts PHP ainsi que dans le module Fpdf, j'aurai quelque questions a posés :1)Je voudrai savoir
le chargement de menu et ces différent lien vers les différent pages [ par ikramta ]
bonjour tout le monde.j'ai inserrer dans ma base les différent menu(accueil,contact.....)et chaque menu est liée par une page.je veut que d'aprées le
[ => PHP] Générer un fichier xml en php [ par massbbc ]
salu je voudrais savoir comment générer un fichier xml à partir d'une base donnée mysql en php.Merci
Comment générer automatiquement des caracteres dans un formulaire ? [ par flaydeer ]
Bonjour,comment générer automatiquement des caracteres textes+chiffres dans une case d'un formulaire et la reporter sur le formulaire suivant ?MerciF
Envoyer une demande de rendez vous à outlook [ par caviar ]
Saluté ...Je cherche à générer un email qui permettrait de générer dans outlook une demande de rendez vous.... De façon à ce que la personne clique si
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Forum
MYSQL PROBLEMEMYSQL PROBLEME par remitete
Cliquez pour lire la suite par remitete
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|