След като бях разтоварен с проект Ruby, бях скептичен относно решението да използвам Ruby поради представянето му.
Бях развълнуван да открия JRuby със своята Java интеграция. Това направи проекта по-лесен за мен. И сега току-що бях напълно галеше още повече, за да открия, че JRuby може да бъде съставен до Java байткод .
С референтни стойности, като:
fib (30) Ruby: 1.67s
фиб (30) JRuby interp (клиент VM): 3.93s
фиб (30) JRuby interp (сървър VM): 2.28s до 2.08s
фиб (30) JRuby компилиран (client VM): 1.89s до 1.79s
fib (30) JRuby компилиран (сървър VM): 1.66s до 0.86s
Сега съм много развълнуван от нашия избор на JRuby тук. Има ли някакви недостатъци или причини, поради които не бихте компилирали продукцията?
Отговори:
1 за отговор № 1Разпределението и инсталациите ще направяттова решение е по-лесно за мен: като sysadmin, много по-скоро ще разпространявам само .JAR файл, който може да работи на много JRE, отколкото да разпространява работещ JRuby пример (което е различно за различните OSes например) и моя изходен код. Освен това вече сте доказали, че AOT-компилираният код е по-бърз от интерпретираните / JIT, така че още по-голяма причина да разпространявате съставената версия.
0 за отговор № 2
Ruby е много бърз да се развива (ако сте запознати със стила му).
Не е толкова бързо да се движи, но това обикновено не е голямо минус. Неговата достатъчно бързо достатъчно за повечето натоварвания, дори и големи уеб сайтове.
Решението не трябва да се основава на скоростта по време на работа - освен ако нямате статистика, която да каже, че хората се очаква да са недоволни от изпълнението, а по-скоро лекота на разгръщане.
Ако разгръщането на Ruby приложения е постигнато от вашите предшественици, тогава го оставете Ruby.
Ако разполагането в JVM е по-лесно, върви с това.