<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://prendreuncafe.com/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Prendre un Café - Tag - performance</title>
  <link>http://prendreuncafe.com/blog/</link>
  <atom:link href="http://prendreuncafe.com/blog/feed/tag/performance/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Thu, 28 Aug 2008 04:27:09 +0200</pubDate>
  <copyright>Contenus sous licence Creative Commons BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>12 astuces d'optimisation de performance PHP</title>
    <link>http://prendreuncafe.com/blog/post/2006/11/22/12-astuces-optimisation-performances-php</link>
    <guid isPermaLink="false">urn:md5:4c470a82b5b58c57f80312c61562de19</guid>
    <pubDate>Wed, 22 Nov 2006 22:25:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Dev</category>
        <category>optimisation</category><category>performance</category><category>php</category>    
    <description>    &lt;p&gt;Je suis tombé complètement par hasard (enfin, par celui des apports de &lt;a href=&quot;http://www.blogdigger.com&quot; hreflang=&quot;en&quot;&gt;Blogdigger&lt;/a&gt;) sur un article présentant 12 astuces pour &lt;a href=&quot;http://www.moskalyuk.com/blog/php-optimization-tips/1272&quot; hreflang=&quot;en&quot;&gt;optimiser les performances de son code PHP&lt;/a&gt; suite à une présentation sur le sujet d'Ilia Alshanetsky à la Zend Conference (les &lt;a href=&quot;http://www.ilia.ws/files/zend_performance.pdf&quot; hreflang=&quot;en&quot;&gt;slides&lt;/a&gt; sont disponibles).&lt;/p&gt;


&lt;p&gt;C'est tellement pertinent que je les reprends telles quelles ici, en français :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Si vous pouvez déclarer une méthode statique &lt;code&gt;static&lt;/code&gt;, faites-le : les performances sont multipliées par 4.&lt;/li&gt;
&lt;li&gt;Éviter les méthodes &lt;em&gt;automagiques&lt;/em&gt; comme &lt;code&gt;__get&lt;/code&gt;, &lt;code&gt;__set&lt;/code&gt; ou &lt;code&gt;__autoload&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;require_once&lt;/code&gt; et son copain &lt;code&gt;include_once&lt;/code&gt; sont très coûteux.&lt;/li&gt;
&lt;li&gt;Utilisez des chemins absolus dans les appels à &lt;code&gt;require&lt;/code&gt; ou &lt;code&gt;include&lt;/code&gt; quand vous le pouvez : PHP perdra moins de temps à résoudre les chemins système.&lt;/li&gt;
&lt;li&gt;Utilisez &lt;code&gt;$_SERVER['REQUEST_TIME']&lt;/code&gt; plutôt que &lt;code&gt;time()&lt;/code&gt; pour obtenir le temps système.&lt;/li&gt;
&lt;li&gt;Voyez si vous ne pouvez pas utiliser &lt;code&gt;strncasecmp&lt;/code&gt;, &lt;code&gt;strpbrk&lt;/code&gt; and &lt;code&gt;stripos&lt;/code&gt; plutôt que de recourir aux expressions régulières.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;&lt;code&gt;preg_replace&lt;/code&gt; est plus rapide que &lt;code&gt;str_replace&lt;/code&gt;&lt;/del&gt; &lt;code&gt;str_replace&lt;/code&gt; est bien entendu beaucoup plus rapide que &lt;code&gt;preg_replace&lt;/code&gt; &lt;sup&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/11/22/#pnote-833-1&quot; id=&quot;rev-pnote-833-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;, mais &lt;code&gt;strtr&lt;/code&gt; est 4 fois plus rapide que &lt;code&gt;preg_replace&lt;/code&gt; !&lt;/li&gt;
&lt;li&gt;L'emploi de tableaux en tant qu'arguments des fonctions de remplacements de chaînes de caractères est plus couteux que l'utilisation multiple de cette même fonction chaîne par chaîne à remplacer.&lt;/li&gt;
&lt;li&gt;La suppression de la sortie d'erreur par l'emploi du caractère &lt;strong&gt;@&lt;/strong&gt; est très coûteuse.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$row['id']&lt;/code&gt; est 7 fois plus rapide d'accès que &lt;code&gt;$row[id]&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Les messages d'erreur en général sont coûteux.&lt;/li&gt;
&lt;li&gt;N'utilisez pas de fonctions à l'intérieur des boucles comme &lt;code&gt;for ($x=0; $x &amp;lt; count($array); $x++)&lt;/code&gt; : ici la méthode &lt;code&gt;count()&lt;/code&gt; est appelée à chaque itération.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://prendreuncafe.com/blog/post/2006/11/22/#rev-pnote-833-1&quot; id=&quot;pnote-833-1&quot;&gt;1&lt;/a&gt;] Le billet lié est erroné sur ce point, et je l'avais traduit tel quel. La lecture des &lt;a href=&quot;http://www.ilia.ws/files/zend_performance.pdf&quot; hreflang=&quot;en&quot;&gt;slides de la conférence&lt;/a&gt; m'aura permis de réctifier le tir.&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Installer l'accélerateur APC pour PHP5 sur Ubuntu</title>
    <link>http://prendreuncafe.com/blog/post/2006/11/01/Installer-laccelerateur-APC-pour-PHP5-sur-Ubuntu</link>
    <guid isPermaLink="false">urn:md5:257bf2e7bf0abad5ed1834947abc7eaf</guid>
    <pubDate>Wed, 01 Nov 2006 11:00:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Ubuntu</category>
        <category>apc</category><category>linux</category><category>optimisation</category><category>pecl</category><category>performance</category><category>php</category><category>serveur</category><category>ubuntu</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://pecl.php.net/apc&quot; hreflang=&quot;en&quot;&gt;APC&lt;/a&gt; est un accélérateur PHP qui permet d'optimiser les performances de vos applications PHP. Voyons comment l'installer sur un serveur Ubuntu Dapper Drake 6.06 LTS avec Apache2 et PHP5 :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get update
$ sudo apt-get install build-essential php5-dev php-pear apache2-prefork-dev&lt;/pre&gt;


&lt;p&gt;On va utiliser l'utilitaire de gestion de modules d'Apache2, &lt;code&gt;apxs2&lt;/code&gt;. APC va chercher par défaut la version Apache1, donc on fait un lien symbolique :&lt;/p&gt;


&lt;pre&gt;$ sudo ln -s /usr/bin/apxs2 /usr/bin/apxs&lt;/pre&gt;


&lt;p&gt;Cette installation nécessite une importante quantité de mémoire vive allouée à PHP, aussi nous allons devoir augmenter cette valeur au sein du script de commande PEAR en modifiant le fichier &lt;code&gt;/usr/share/php/pearcmd.php&lt;/code&gt; et en y ajoutant en tête de fichier la ligne :&lt;/p&gt;


&lt;pre&gt;&amp;lt;?php
ini_set('memory_limit','24M');&lt;/pre&gt;


&lt;p&gt;Tout est prêt, on peut lancer l'installation d'APC via PECL :&lt;/p&gt;


&lt;pre&gt;$ sudo pecl install apc&lt;/pre&gt;


&lt;p&gt;Répondez oui à toutes les questions posées. Ceci fait et si l'installation s'est déroulée convenablement, éditez votre fichier &lt;code&gt;/etc/php5/apache2/php.ini&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;extension=apc.so&lt;/pre&gt;


&lt;p&gt;Il ne reste plus qu'à redémarrer Apache2 pour profiter d'une substantielle amélioration des performances de vos applications PHP5 &lt;img src=&quot;/blog/themes/Puc4/smilies/smile.gif&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>