Mise à jour du 22/11/2010 par Idelways
Rails 3.0.3 vient de sortir. Une mise à jour mineure, certes, mais aussi une prouesse remarquable que vient d'accomplir Aaron Patterson sur le framework web Ruby on Rails.
Grâce au travail de benchmarking/refactoring acharné de ce contributeur, Active Record, l'ORM (mapping objet-relationnel) par défaut du framework regagne la perte des performances qu'il a encaissé en passant à la bibliothèque de relations algébriques ARel à partir de la version 3 du framework.
Bien qu'il offre une API très riche et "developer-friendly", le couple ActiveRecord 3/ARel-1 était jusqu'à 5 fois plus lent que son équivalent de la branche 2.3.x.
La version 2.0 de ARel est une réécriture complète de la bibliothèque mais l'API reste inchangée, aucune modification des applications Rails 3 n'est nécessaire.
Pour installer cette version, il suffit de lancer la commande gem install rails.
Ou via bundler : éditer le fichier Gemfile, modifier le numéro de version du framework comme suit : gem 'rails', '3.0.3', puis lancer : bundle install
Patterson a publié un article détaillé sur les blogs de AT&T et présenté sa prouesse durant la conférence RubyConf, les slides de sa présentation (riches en renseignements) sont disponible en ligne :
[ame="http://www.slideshare.net/tenderlove/zomg-why-is-this-code-so-slow"]ZOMG WHY IS THIS CODE SO SLOW@@AMEPARAM@@ssplayer2.swf?doc=presentation-101111155350-phpapp02&stripped_title=zomg-why-is-this-code-so-slow@@AMEPARAM@@presentation-101111155350-phpapp02@@AMEPARAM@@zomg-why-is-this-code-so-slow[/ame]
Source : le blog du Framework
Et vous ?
Développez-vous en Ruby on Rails 3 ?
Cette version est-elle aussi lente que ça (avant cette mise à jour) ?
Ruby on Rails 3 désormais aussi rapide que la banche 2.3.x
Grâce à la refonte en profondeur de sa librairie de relations algébriques
Ruby on Rails 3 désormais aussi rapide que la banche 2.3.x
Grâce à la refonte en profondeur de sa librairie de relations algébriques
Le , par Idelways
Une erreur dans cette actualité ? Signalez-nous-la !