Optimiser le code

Optimiser le code - PHP - Programmation

Marsh Posté le 29-06-2002 à 13:59:01    

qu'est ce que vous conseillez ?

Reply

Marsh Posté le 29-06-2002 à 13:59:01   

Reply

Marsh Posté le 29-06-2002 à 14:27:38    

en gros :
un peu de réflexion pour le code...

  • parser par ordre de rapidité :

1. str_replace
2. preg_replace
3. ereg_replace

  • le moins de variables possible
  • le moins d'appels à des fonctions possibles (toujours à juger en fonction de la maintenance et de la performance)
  • le moins de querys possible (de préférence pas de jointure)


PHP Accelerator : http://www.php-accelerator.co.uk/
 
Mysql : http://www.phpinfo.net/?p=articles [...] tion-mysql
 
 
Sinon précise un peu ta question.


---------------
...oups kernel error...
Reply

Marsh Posté le 29-06-2002 à 16:01:43    

Citation :

parser par ordre de rapidité :
1. str_replace
2. preg_replace
3. ereg_replace


 
plus clairement ca donne ?

Reply

Marsh Posté le 29-06-2002 à 16:03:37    

voila:  
 
jai un cadre qui apparait plusieurs fois dans ma page (www.yadetoo.com) : voici son code..
 
[fixed]     <TABLE cellSpacing=0 cellPadding=0 width=152 border=0>
        <TBODY>
        <TR>
          <TD colSpan=3><IMG height=5  
            src="themes/<? echo $theme; ?>/sidebox-trim-top.gif"  
            width=152></TD></TR>
        <TR>
          <TD  
          background="themes/<? echo $theme; ?>/sidebox-trim-left.gif"><IMG  
            height=1 src="themes/<? echo $theme; ?>/pixel.gif"  
          width=5></TD>
           
        <TD align=middle width=142  
          background="themes/<? echo $theme; ?>/sidebox-title-bg.gif"><FONT  
            class=boxtitle><B>Menu</B></FONT></TD>
          <TD  
          background="themes/<? echo $theme; ?>/sidebox-trim-right.gif"><IMG  
            height=1 src="themes/<? echo $theme; ?>/pixel.gif"  
          width=5></TD></TR>
        <TR>
          <TD colSpan=3><IMG height=4  
            src="themes/<? echo $theme; ?>/sidebox-title-joint.gif"  
            width=152></TD></TR>
        <TR>
          <TD  
          background="themes/<? echo $theme; ?>/sidebox-trim-left.gif"><IMG  
            height=1 src="themes/<? echo $theme; ?>/pixel.gif"  
          width=1></TD>
           
        <TD  
          background="themes/<? echo $theme; ?>/sidebox-body-bg.gif"><BR>
            <TABLE cellSpacing=0 cellPadding=3 width="100%">
              <TBODY>
              <TR>
                 
              <TD bgcolor="#004078">  
                <LI><a href="home.php" class="mma" onMouseOver="msg('Retourner à l\'accueil';);return true;" onMouseOut="return true;">Home</a>  
                  <BR>
                   <li><font class="boxcontent"><a href="new.php" class="mma" onMouseOver="msg('Quoi de neuf sur Yadetoo ?';);return true;" onMouseOut="return true;">Koi de 9 ?</a>  
                   </font>  <br>
      <li><font class="boxcontent"><a href="news.php" class="mma"  onMouseOver="msg('Les News';);return true;" onMouseOut="return true;">News</a>  
                  </font> <br>
                <li><font class="boxcontent"><a href="http://forum.aceboard.net/index.php?login=65" class="mmma"  onMouseOver="msg('Les forums de Yadetoo';);return true;" onMouseOut="return true;">Forums</a>  
                  </font> <br>
                <li><font class="boxcontent"><a href="guestbook.php" class="mma"  onMouseOver="msg('Le livre d\'or de Yadetoo!';);return true;" onMouseOut="return true;">Livre d'or</a> </font><br>  
                <li><font class="boxcontent"><a href="evenements.php" class="mma"  onMouseOver="msg('Agenda';);return true;" onMouseOut="return true;">Agenda</a><br></font>
   ></TD>
            </TR></TBODY></TABLE></TD>
          <TD  
          background="themes/<? echo $theme; ?>/sidebox-trim-right.gif"><IMG  
            height=1 src="themes/<? echo $theme; ?>/pixel.gif"  
          width=1></TD></TR>
        <TR>
          <TD colSpan=3><IMG height=5  
            src="themes/<? echo $theme; ?>/sidebox-trim-bottom.gif"  
            width=152></TD></TR></TBODY></TABLE><BR>[/code]
 
Je cherche à l'optimiser !


Message édité par Ex-Floodeur le 04-07-2002 à 12:50:17
Reply

Marsh Posté le 29-06-2002 à 16:18:37    

etape 1 : rendre le code HTML compliant minimum HTML 4.01, parce que là, c'est pas la joie


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 29-06-2002 à 16:20:58    

z0rglub a écrit a écrit :

etape 1 : rendre le code HTML compliant minimum HTML 4.01, parce que là, c'est pas la joie




 
1) Quelles sont les autres étapes ?
2) Comment faire cette compatibilité ?

Reply

Marsh Posté le 29-06-2002 à 17:32:20    

up !

Reply

Marsh Posté le 29-06-2002 à 21:28:55    

tu le fais valider par le w3c validator, il te dira ou sont les erreurs  ;)
 
ethernal->t sur ke str_replace est mie ke preg_replace ?


Message édité par --stan-- le 29-06-2002 à 21:29:21
Reply

Marsh Posté le 29-06-2002 à 21:41:44    

une question (ca me semble evident, mais bon):
vaut mieux faire (d'un point de vue perf):
1:

Code :
  1. <html>
  2. ...
  3. mes trucs en HTML
  4. ...
  5. <?
  6.   ...
  7.   mes trucs en PHP
  8.   ...
  9. ?>
  10. ...
  11. mes trucs en HTML
  12. ...
  13. </html>


 
ou bien  
2:

Code :
  1. <?
  2.   echo "<html>
  3. ...
  4. mes trucs en HTML
  5. ...";
  6. ...
  7. mes trucs en PHP
  8. ...
  9. echo "...
  10. mes trucs en HTML
  11. ...
  12. </html>";
  13. ?>


 
et quelle est le gain de perf (grosso merdo) ?


Message édité par JWhy le 29-06-2002 à 21:42:35

---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 29-06-2002 à 21:48:52    

Ben le 1 est mieux car ta la coloration syntaxique et que c pas parsé, enfin moi je préfère le 1.
J'essaie toujours de mettre le minimum de echo

Reply

Marsh Posté le 29-06-2002 à 21:48:52   

Reply

Marsh Posté le 30-06-2002 à 00:33:42    

--stan-- a écrit a écrit :

 
ethernal->t sur ke str_replace est mie ke preg_replace ?




 
oui, j'ai lu ça partout, et en pratique je n'ai jamais vu le contraire.  
Le problème est que tu ne sais pas faire grand chose avec le str_replace(), et faire par exemple  

Code :
  1. str_replace('[ b]','<b>',$string);
  2. str_replace('[ /b]','</b>', $string);


à la place d'un  

Code :
  1. preg_replace("/\[b\](.+?)\[\/b\]/si", "<b>\\1</b>", $string);


n'est à mon avis pas plus rapide, et n'engendre pas le même résultat.


Message édité par ethernal le 30-06-2002 à 00:34:07

---------------
...oups kernel error...
Reply

Marsh Posté le 30-06-2002 à 00:37:14    

JWhy a écrit a écrit :

une question (ca me semble evident, mais bon):
vaut mieux faire (d'un point de vue perf):
1:

Code :
  1. ...


 
et quelle est le gain de perf (grosso merdo) ?




 
il vaut mieux tout stocker dans une variable et envoyer tout d'un coup.

Code :
  1. $output= "code html ...";
  2. for ($i=0; $i<10; $i++){
  3.    $output.="$i traitement php";
  4. }
  5. ...
  6. echo $output;


 
en plus ça te permet de compresser les données envoyées.


---------------
...oups kernel error...
Reply

Marsh Posté le 03-07-2002 à 17:36:43    

je vais faire le test surement ce we mais, c'est vraiment bcp plus rapide de faire concatener dans une variable puis l'afficher plutot que d'afficher au pas-a-pas avec des echo intermediaires ?
 
par exemple pour l'affichage d'un tableau provenant d'une base et qui au final fait une page d'une 40n de Ko ?


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 04-07-2002 à 12:39:54    

à vrai dire je n'ai jamais fait de tests, mais en occupant le serveur une seule fois pour l'envoi des données à la place de pleins de petites fois, il devrait y avoir un gain...


---------------
...oups kernel error...
Reply

Marsh Posté le 04-07-2002 à 12:51:42    

JWhy a écrit a écrit :

une question (ca me semble evident, mais bon):
vaut mieux faire (d'un point de vue perf):
1:

Code :
  1. <html>
  2. ...
  3. mes trucs en HTML
  4. ...
  5. <?
  6.   ...
  7.   mes trucs en PHP
  8.   ...
  9. ?>
  10. ...
  11. mes trucs en HTML
  12. ...
  13. </html>


 
ou bien  
2:

Code :
  1. <?
  2.   echo "<html>
  3. ...
  4. mes trucs en HTML
  5. ...";
  6. ...
  7. mes trucs en PHP
  8. ...
  9. echo "...
  10. mes trucs en HTML
  11. ...
  12. </html>";
  13. ?>


 
et quelle est le gain de perf (grosso merdo) ?




le html c'est pas du c/cpp :mad: :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed