/ / Rails инициализира изключително бавно на рубин 1.9.1 - ruby-on-rails, ruby, изпълнение, стартиране, ruby-1.9.1

Релсите инициализират изключително бавно на рубин 1.9.1 - рубинен релси, рубин, изпълнение, стартиране, рубин-1.9.1

Току-що получих моите релси 2.3.8, които работят на рубин 1.9.1. За да влезете в конзолата, стартирайте уеб сървъра, всичко, което инициализира релсите, отнема 3 - 4 пъти по-дълго в рубин 1.9, отколкото в рубин 1.8.7. Използвам рубин мениджъри, така че мога лесно да превключвам между руби 1.9 и рубин 1.8.7. Разликата в скоростта се случва както в производството, така и в развитието. толкова лошо, че приложението изтича на Heroku по първата заявка.

Някакви идеи защо рубин 1.9 би бил 3 - 4 пъти по-бавен? Не мога да го разбера за живота ми.

Отговори:

6 за отговор № 1

Опитайте да използвате 1.9.2-главата вместо 1.9.1. Това е Препоръчителна версия за Rails 3, така че може да имате по-голям късмет. Rails 2.3.8 стартира много бързо на 1.9.2-главата от тестовете, които току-що стартирах локално (с инсталиран Authlogic, btw).

Ако използвате RVM, напишете следното:

rvm install 1.9.2-head
rvm use 1.9.2-head

Edit: Опитах 1.9.1 p378 със същото приложение и времето за стартиране отнема около 13 секунди в сравнение с 5 секунди на 1.9.2-глава. 1.9.2-rc1 се очаква този месец аз вярвам, така че това е добра новина :)


0 за отговор № 2

Вероятно защото е рубин 1.9 използва gem_prelude (което ви дава голям път на натоварване) вместо нормалните рубигеми. Проверете дължината на $: - която се търси веднъж за всяко изискване, което води до допълнително време

Ако искате по стар начин, (надградете до последната версия на rubygems и) стартирайте ruby ​​--disable-gems

Ако сте на прозорци, погледнете в моето по-бързо бижу.

http://github.com/rdp/faster_require

Макар да предполагам, че сега, когато го споменете, може да помогне в 1.9 Linux. Може би.

GL! -RP