// 2007/07/30 15:24 / 90.1.187.152

Profiler le code


→ ajouter une fonction et ses appels à des endroits stratégiques

   function profile ($txt,$dump=FALSE)

   {

      static $times;

      if ($dump)

      {

         if (!file_exists("perfs.log"))

         {

            $f = fopen("perfs.log","w");

            for ($i=1;$i<sizeof($times);$i++)

               fwrite($f,sprintf("%s:",$times[$i][0])); // header

            fwrite($f,"\n");

         }

         else

            $f = fopen("perfs.log","a");

         for ($i=1;$i<sizeof($times);$i++)

            fwrite($f,sprintf("%f:",$times[$i][1]-$times[$i-1][1])); // valeurs

         fwrite($f,"\n");

         fclose($f);

      }

      else

      {

         list($usec, $sec) = explode(" ", microtime());

         $times[] = array($txt,((float)$usec + (float)$sec));

      }

   }


→ on obtient le résultat dans le fichier perfs.log :
Traitement:Formatage:
0.027288:0.407159:
0.027298:0.453744:
0.032468:0.444973:
0.025138:0.446650:


Axes d'améliorations


// 2007/07/30 15:24 / 90.1.187.152

Profiler le code


→ ajouter une fonction et ses appels à des endroits stratégiques

   function profile ($txt,$dump=FALSE)

   {

      static $times;

      if ($dump)

      {

         if (!file_exists("perfs.log"))

         {

            $f = fopen("perfs.log","w");

            for ($i=1;$i<sizeof($times);$i++)

               fwrite($f,sprintf("%s:",$times[$i][0])); // header

            fwrite($f,"\n");

         }

         else

            $f = fopen("perfs.log","a");

         for ($i=1;$i<sizeof($times);$i++)

            fwrite($f,sprintf("%f:",$times[$i][1]-$times[$i-1][1])); // valeurs

         fwrite($f,"\n");

         fclose($f);

      }

      else

      {

         list($usec, $sec) = explode(" ", microtime());

         $times[] = array($txt,((float)$usec + (float)$sec));

      }

   }


→ on obtient le résultat dans le fichier perfs.log :
Traitement:Formatage:
0.027288:0.407159:
0.027298:0.453744:
0.032468:0.444973:
0.025138:0.446650:


Axes d'améliorations


// 2007/07/30 15:24 / 90.1.187.152

Profiler le code


→ ajouter une fonction et ses appels à des endroits stratégiques

   function profile ($txt,$dump=FALSE)
   {
      static $times;
      if ($dump)
      {
         if (!file_exists("perfs.log"))
         {
            $f = fopen("perfs.log","w");
            for ($i=1;$i<sizeof($times);$i++)
               fwrite($f,sprintf("%s:",$times[$i][0])); // header
            fwrite($f,"\n");
         }
         else
            $f = fopen("perfs.log","a");
         for ($i=1;$i<sizeof($times);$i++)
            fwrite($f,sprintf("%f:",$times[$i][1]-$times[$i-1][1])); // valeurs
         fwrite($f,"\n");
         fclose($f);
      }
      else
      {
         list($usec, $sec) = explode(" ", microtime());
         $times[] = array($txt,((float)$usec + (float)$sec));
      }
   }


→ on obtient le résultat dans le fichier perfs.log :
Traitement:Formatage:
0.027288:0.407159:
0.027298:0.453744:
0.032468:0.444973:
0.025138:0.446650:


Axes d'améliorations