Rails 3 очень медленно инициализируется на Ruby 1.9.2 - PullRequest
26 голосов
/ 25 января 2011

Я использую RVM для управления средой, установил Ruby 1.9.2.p136 (я думаю, его последний выпуск) и Rails 3, создал gemsets и запустил упаковщик.пока все работает хорошо, но;

Rails очень медленно инициализируется при запуске команд, то есть генерирует, уничтожает, разбивает и т. д. Для завершения команды требуется около 30-45 секундЭтого никогда не произойдет, если вы используете Ruby Enterprise Edition или Ruby 1.8.7

Почему это происходит.Какие-нибудь мысли?Работает на Ubuntu 10.10, RVM, Ruby 1.9.2, Rails 3

Спасибо.

Ответы [ 2 ]

7 голосов
/ 01 февраля 2011

На Rails-Core есть ветка об этом - http://groups.google.com/group/rubyonrails-core/browse_thread/thread/88519ef5a53088a1/c01ba447c6dc0de7?lnk=raot

Цитировать Иегуду Каца

"Есть вещи, которые C требует кода в 1.9, которые замедляют работу. Одним из таких примеров является повторная проверка $ LOAD_PATH, чтобы убедиться, что все развернуто на любой запрос. Это то, что должно быть решено с помощью ruby-core. Я открою билет на Redmine, если его еще нет. "

Я также испытываю эту проблему, и проблема $ LOAD_PATH кажется потенциальной причиной. Будем надеяться, что это скоро исправят.

3 голосов
/ 25 января 2011

Попробуй связать (в unix), dtruss (в mac) свою команду (хотя может понадобиться "sudo").Он покажет вам, где процесс тратит свое время.Обратите внимание, где он останавливается.Это определенно не нормально.

...