26 votes

Rails 3 s'initialise extrêmement lentement sur Ruby 1.9.2

Je utilise RVM pour la gestion de l'environnement, j'ai installé Ruby 1.9.2.p136 (je pense que c'est la dernière version) et Rails 3, j'ai créé des gemsets et exécuté bundler. tout fonctionne bien jusqu'à présent mais;

Rails s'initialise extrêmement lentement lors de l'exécution des commandes, c'est-à-dire generate, destroy, rake etc. Il faut environ 30 à 45 secondes pour terminer la commande. Cela n'arrivera jamais si vous utilisez Ruby Enterprise Edition ou Ruby 1.8.7

Pourquoi cela se produit-il. Des idées? Je suis sous Ubuntu 10.10, RVM, Ruby 1.9.2, Rails 3

Merci.

7voto

lost Points 1

Il y a un fil de discussion à ce sujet sur Rails-Core - http://groups.google.com/group/rubyonrails-core/browse_thread/thread/88519ef5a53088a1/c01ba447c6dc0de7?lnk=raot

Pour citer Yehuda Katz

"Il y a des choses que le code C requiert dans 1.9 qui ralentissent les choses. Un tel exemple est la re-vérification de $LOAD_PATH pour s'assurer qu'il est bien étendu à chaque require. C'est quelque chose qui devrait être traité par ruby-core. J'ouvrirai un ticket sur redmine s'il n'en existe pas déjà."

Je rencontre également ce problème et un problème avec $LOAD_PATH semble être une cause potentielle. Espérons que cela sera rapidement résolu.

3voto

Zepplock Points 6863

Essayez de faire un trace (sur Unix), un dtruss (sur Mac) de votre commande (il peut être nécessaire de "sudo" cependant). Cela vous montrera où le processus passe son temps. Remarquez où il fait des pauses. Ce n'est certainement pas normal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X