cs_Astalavista
Messages postés192Date d'inscriptionlundi 24 décembre 2001StatutMembreDernière intervention 3 février 2010
-
19 avril 2010 à 22:57
djroulo
Messages postés25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 octobre 2008
-
21 avril 2010 à 17:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
djroulo
Messages postés25Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention21 octobre 2008 21 avril 2010 à 17:20
Attention tout de même, ces fonctions permettent de mesurer les retours sur des fonctions qui ne renvoient pas toujours le même contenu.
Je m'explique, prenez une fonction qui retourne TRUE ou FALSE suivant une requête SQL. Avec ces fonctions de log, vous êtes capable de mesurer le temps que prendra la fonction d'arriver jusqu'au TRUE et celui d'arriver jusqu'à FALSE...
Merci encore pour vos commentaires qui m'ont permis de corriger.
cs_spoonisback
Messages postés72Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 5 février 2010 20 avril 2010 à 19:33
Salut,
4 fonctions non optimisées ne méritent pas un niveau initié.
Pourquoi ne pas avoir fait de classe, les objets sont plus facilement manipulable..?
cs_Astalavista
Messages postés192Date d'inscriptionlundi 24 décembre 2001StatutMembreDernière intervention 3 février 2010 19 avril 2010 à 22:57
Je trouve dommage qu'un programme servant a calculer un temps d'exécution si peut optimisé au niveau de sont temps a lui même :) (j'espère que c'est français)
Pour ma part, la fonction se serais résumé à ça :
function LogFunctionExecution($Function, $arrParams, $msg){
$time = microtime ( true );
$Return = call_user_func_array ( $Function, $arrParams );
$time = microtime( true ) - $time;
file_put_contents ( 'logs/'.$Function.'.log', $msg."\t".$time."\n", FILE_APPEND );
return $Return;
}
Et on pourrais l'utiliser de cette façon :$SelectedUsers LogFunctionExecution( 'SelectionerClients', array('ID'> 5), 'Test Fonction');
Le petit défaut de mon code, compatible uniquement PHP > 5 ...
Ha oui, j'ai pas compris pourquoi tu as mit le nom de la fonction appelé dans le log, alors que le fichier à déjà le nom de la fonction ?! ...
21 avril 2010 à 17:20
Je m'explique, prenez une fonction qui retourne TRUE ou FALSE suivant une requête SQL. Avec ces fonctions de log, vous êtes capable de mesurer le temps que prendra la fonction d'arriver jusqu'au TRUE et celui d'arriver jusqu'à FALSE...
Merci encore pour vos commentaires qui m'ont permis de corriger.
20 avril 2010 à 19:33
4 fonctions non optimisées ne méritent pas un niveau initié.
Pourquoi ne pas avoir fait de classe, les objets sont plus facilement manipulable..?
19 avril 2010 à 22:57
Pour ma part, la fonction se serais résumé à ça :
function LogFunctionExecution($Function, $arrParams, $msg){
$time = microtime ( true );
$Return = call_user_func_array ( $Function, $arrParams );
$time = microtime( true ) - $time;
file_put_contents ( 'logs/'.$Function.'.log', $msg."\t".$time."\n", FILE_APPEND );
return $Return;
}
Et on pourrais l'utiliser de cette façon :$SelectedUsers LogFunctionExecution( 'SelectionerClients', array('ID'> 5), 'Test Fonction');
Le petit défaut de mon code, compatible uniquement PHP > 5 ...
Ha oui, j'ai pas compris pourquoi tu as mit le nom de la fonction appelé dans le log, alors que le fichier à déjà le nom de la fonction ?! ...
Bonne prog !