Optimiser Firefox 3

L'article d'aujourd'hui ne sera pas très fouillé.

Générallement j'écris l'article ici, mais c'est tout simplement car il est en anglais et que je fait de mon mieux pour le traduire.

L'article étant déjà en français, je ne vais pas faire un sombre copier coller !

Donc voici quelques astuces qui vous permettront d'optimiser Firefox 3 ! :)

C'est toujours utile ! :)

Filed under  //  firefox   optimisation  
Posted by Cyril Nicodème 

Quelques optimisations pour MySQL

Cette liste, donnée par Dublish.com, regroupe quelques bonnes astuces à prendre pour améliorer le traitement de vos donnée stockées sur votre SGBD.

La partie PHP n'est pas traitée ici puisqu'elle à fait le sujet d'un autre article publié précédement.

  • MySQL interprète de la droite vers la gauche, de ce fait, mettez les signifiants limiteurs le plus loin possible de la droite.
  • Sélectionnez les colonnes, plutôt que * (tout).
  • Évitez de mettre des informations qui changent rarement dans la base de donnée, préférez les dans un tableau contenu dans un fichier que vous inclurez.
  • Utilisez des indexes dans les colonnes contenues dans les clauses WHERE et ORDER BY.
  • Les indexes sont très intéressants quand vous faites des recherches mais ralentissent considérablement l'insertion.
  • Utilisez la requête "EXPLAIN" pour analyser vos indexes.
  • Si vous ne voulez qu'une ligne de résultat, limitez votre requête avec la clause LIMIT 1; Cela aura pour effet de stopper MySQL à la première ligne trouvée plutôt que de continuer à parcourir TOUTE la table pour une donnée qui est déjà trouvée.
  • Préferez un FETCH_ASSOC ou FETCH_NUM plutôt qu'un FETCH_BOTH qui déclarera deux variables par colonne au lieu d'une seule.
  • Parfois, mysql_free_result (ou similaire en fonction de ce que vous utilisez) finis par consommer plus de mémoire qu'en gagner. Regardez la différence avec memory_get_usage ();.
  • Évitez de demander à la base de donnée la même chose encore et encore. Stocker la requête et réutilisez la !
  • Utilisez autant que possible NOT NULL en tant que valeur par défaut. Cela améliore l'éxécution et save 1 bit.
  • Utilisez des types de colonnes qui correspondent à votre utilisation. Un INT non signé peux contenir jusqu'à 4294967295 valeurs. En avez-vous vraiment besoin ? Préférez l'utilisation de SMALLINT ou TINYINT en fonction de l'usage.
  • Profitez des valeurs par défaut. Lors de l'insertion, insérer que ce qui n'est pas valeur par défaut afin d'améliorer l'insertion.

Beaucoup de choses sont logiques, d'autres le son après la lecture.
En suivant ces quelques règles, ainsi que celles sur le php, vous pourrez améliorer l'éxécution de votre code considérablement.
Ce qui est un avantage quand le nombre de visiteur augmente !

Filed under  //  Development   améliorer   astuces   fast   gain   mysql   optimisation   performance   rapidité   règle   speed   temps   tricks  
Posted by Cyril Nicodème 

Optimisation PHP

On parle très souvent de l'optimisation de code PHP, mais dans le concret, on se rend très vite compte que tous les conseils ne sont pas appliqués. Après la publication d'un article en anglais, sur 12 astuces d'optimisations PHP, je vais ici traduire ces astuces et indiquer les autres qui me semblent indispensables.

  1. Préférez les méthodes statiques. La rapidité d'exécution du code PHP est multiplié par 4 !
  2. Évitez autant que vous pouvez l'utilisation des méthodes magiques (__get, __set, etc)
  3. Require_once est plus lourd que require (logique puisqu'il va vérifier que le fichier n'à pas déjà été chargé !)
  4. Préférez l'utilisation des chemins absolus, qui évitent au moteur PHP de résoudre le chemin par le biais du système (utilisez $_SERVER ['DOCUMENT_ROOT'])
  5. Pour avoir le temps en secondes, préférez $_SERVER['REQUEST_TIME'] à time (). En effet, time () demande un temps de calcul à PHP alors que $_SERVER['REQUEST_TIME'] est déjà calculé !
  6. Evitez au maximum l'utilisation des expressions régulières (utilisation des fonctions strncasecmp, strpbrk et stripos)
  7. str_replace est plus rapide que preg_replace, mais strtr est 4 fois plus rapide que str_replace ... !!
  8. Preferez le passage de paramètre à des fonctions en String plutôt que Array, ce qui évitera un temps de traitement supplémentaire pour le parcours du tableau !
  9. L'utilisation du @ pour ne pas afficher les erreurs ralentit considérablement le traitement.
  10. $row['id'] est 7 fois plus rapide que $row[id] !!!
  11. Les messages d'erreurs ralentissent votre code ! Normal puisqu'ils sont (peuvent) être écrit dans le fichier de log, affichés, etc
  12. Essayez au maximum de sortir les fonctions telles que count, sizeof, ... des boucles. Car ces fonctions sont appelées à chaque itérations, ce qui alourdit considérablement le traitement !
  13. Préférez l'usage des simples quotes plutôt que des doubles quotes. Les doubles quotes sont parsées, tandis que les simples quotes non ! (le $ est affiché et n'est pas traité en tant que variable !)
  14. Évitez au maximum la redondance de code, en utilisant des classes ou des fonctions. Cela permet aussi une maintenance et une pérennité de votre code, puisqu'il suffira ensuite de modifier qu'à un seul endroit, au lieu de parcourir tous vos fichiers !
  15. Préférez l'utilisation des fonctions preg_* au lieu de ereg_* qui sont maintenant dépréciée !
  16. Préférez l'utilisation de
    if (!isset ($myvar{5}))
            echo $myvar.' is too short';
    au lieu de
    if (strlen ($myvar)
    Isset n'est pas une fonction mais une structure du langage, qui est donc beaucoup plus rapide !
  17. Préferez l'usage de ++$i plutot que $i++, qui est plus rapide (s'applique uniquement à PHP !)
  18. echo est plus rapide que print tout simplement car print retourne un état de succès tandis que echo ne fait qu'afficher.
  19. Tout ce qui n'est pas du PHP doit être en dehors des ?><?php ! Eviter les longs echo '<html>....'; qui seront plus long à parser que des ?><html>... !!!
  20. Préférez l'utilisation de la librairie ctype (activée par défaut depuis PHP 4.2.0) plutôt que des expressions régulières pour valider des entrées utilisateurs simple (tel que des nombres, des chaines, etc). Jetez un oeil à la librairie ctype sur php.net
  21. true est plus rapide que TRUE (sisi c'est vrai ! :p). Pourquoi ? parce que dans la structure de langage de PHP, la valeur booléenne est true. Si vous mettez TRUE, PHP va déjà vérifier si ce n'est pas une constante. C'est donc une perte de temps.
  22. 1 est plus rapide que true (et inversement 0 est plus rapide que false). Et comme PHP n'est pas typé ...
  23. Préferez if (42 == $value) plutot que ($value == 42). Ce ne sera pas plus rapide, mais vous obtiendrez une erreur si vous omettez un égal ! (42 = $value vous retournera une erreur. $value = 42 ne fera qu'assiger 42 à la variable $value, et vous comprendrez pas pourquoi votre code ne fonctionne pas :p)
  24. Il est préférable d'utiliser :
    $myArray = array ('banane' => 0, 'pomme' => 1, 'orange' => 2); 
    if (isset ($myArray[$fruits])) {
            echo $fruits.' exist';
    }
    plutot que
    $myArray = array ('banane', 'pomme', 'orange');
    if (array_exists ($myArray, $fruits)) {
            echo $fruits.' exists';
    }
  25. De plus gros blocs de code php augmentent la rapidité du script plutôt que des <?php .. ?> à chaque lignes
  26. Si vous utilisez echo, la concaténation est plus rapide avec des virgules qu'avec des points !!
    echo 'Bonjour Mr',$sName,', vous avez ',$iMsg,' message(s)'
  27. Utiliser au maximum unset, afin de libérer le plus de mémoire possible
  28. Essayer au maximum de génerer des pages html statiques une fois le contenu mis à jour, afin d'éviter un traitement à chaque affichage !

Toutes ces méthodes vous permettront d'avoir un code performant, ce qui aura pour conséquence d'améliorer la rapidité de rendu de vos pages en cas de forte consultation.

Filed under  //  Development   Php   cache   conseil   eviter   optimisation   préférable   quote   rapidity   rendu  
Posted by Cyril Nicodème