Току-що получих моите релси 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