IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

29PARTAGES

1  0 
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) ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Lorito
Membre régulier https://www.developpez.com
Le 22/11/2010 à 13:31
Je n'utilise pas rails mais me tiens au courant de son évolution.
Et justement la version 3.0.3 a semble t-il apporté quelques changements au niveau de la syntaxe :

Par exemple :
3.0.1: Model.select(:field_1, :field_2)
3.0.3: Model.select([:field_1,:field_2])

Ainsi qu'un problème de consommation CPU très élevé lors de requêtes avec des intervalles de dates.

Et enfin un problème relatif à la classe UploadedFile.

De nombreux posts négatifs peuvent être trouvés ici
Pour une version mineur annoncée comme une MAJ totalement compatible, celle-ci n'as pas l'air de se faire sans douleur.

edit : Mise en page, fautes d'orthographes
piaf : Phrase pas clair
2  0 
Avatar de kaymak
Membre émérite https://www.developpez.com
Le 23/11/2010 à 16:35
Citation Envoyé par Lorito Voir le message
Je n'utilise pas rails mais me tiens au courant de son évolution.
Et justement la version 3.0.3 a semble t-il apporté quelques changements au niveau de la syntaxe :

Par exemple :
3.0.1: Model.select(:field_1, :field_2)
3.0.3: Model.select([:field_1,:field_2])

Ainsi qu'un problème de consommation CPU très élevé lors de requêtes avec des intervalles de dates.

Et enfin un problème relatif à la classe UploadedFile.

De nombreux posts négatifs peuvent être trouvés ici
Pour une version mineur annoncée comme une MAJ totalement compatible, celle-ci n'as pas l'air de se faire sans douleur.

edit : Mise en page, fautes d'orthographes
piaf : Phrase pas clair
Hello,

Ne suivant pas trop l'actu de rails, ce post était intéressant. Maintenant le gros problème la dedans c'est surtout le changement dans l'api, qui n'aurait pas dû arriver selon les engagements pris par la core team.
D'après ce que j'ai pu lire.
Cependant, le travail réalisé n'est pas non plus à jeter, mais sa release est sujette à discussions qui auraient dû se tenir au préalable.

D'ailleurs pour faire suite à ton post il semble que le problème de conso CPU avec les intervalles de dates soit patché. C'est efficace.

Les posts négatifs que tu cites peuvent être aussi facilement dénigrés vu l'attitude de certains, qui push en prod une release de la veille...

Bon sinon, rien à voir, mais j'ai pu découvrir rails for zombie sur ce site, un tutorial interactif pour apprendre rails.
C'est une super initiative, super sympa ! chapeau.

--> http://weblog.rubyonrails.org/

a +
1  0