J’y serais …

18 11 2007

Paris On Rails




Les bons outils …

9 08 2007

Vous savez que les 10 dernières minutes ont été productives quand vous passez de:

Total time: 15.5901584625244Average time: 3.11803169250488

à

Total time: 3.72735238075256Average time: 0.745470476150513

La raison de cette subite amélioration des performances ? Rien de bien compliqué: juste le fait que la dernière mouture de ruby-prof facilite grandement l’analyse des performances d’une requête donée .. et par là-même simplifie le travail de celui qui essaie d’optimiser un tant soit peu une application web déjà gourmande.

Ajoutez à cela un bon exemple d’utilisation de la part de l’auteur même, et vous avez une amélioration des performances assez impressionante qui somme toute se résume au changement de 2 ou 3 lignes de code. Le plus amusant étant que la cause de ces performances pitoyables était exactement la même que celle expliquée dans l’article: l’utilisation abusive de ActiveRecord#attributes au sein d’une méthode appelée lors de chaque accès aux champs d’un objet :

%self     total     self     wait    child    calls  name
 55.20     28.28    27.35     0.00     0.93    82447  Kernel#clone

Comme quoi, quand on a les bons outils …