Производительность JRuby

У меня есть приложение Rails 3.2.2, которое я хочу запустить в режиме JRuby 1.6.7 (1.9.2).

У меня есть пример приложения, работающего в MRI ruby ​​1.9.3, и типичный запрос возвращается через ~40 мс:Завершено 200 OK за 36 мс (Просмотры:27,5 мс | ActiveRecord:8,2 мс)

Под JRuby использование одного и того же запроса происходит в 3–20 раз медленнее в зависимости от страницы. Для той же операции, что и выше, требуется ~180 мс:Завершено 200 OK за 180 мс (Просмотры:153,0 мс | ActiveRecord:24,0 мс)

Это нормальная разница в производительности? Я читал, что JRuby примерно равен по скорости МРТ. Результаты сохраняются на моем Mac и сервере Windows (, где, к сожалению, его нужно будет запустить). Упаковывать его с помощью Warbler, работающего под Tomcat, так же медленно.

Приведенное выше время взято из базового приложения rails, созданного для тестирования JRuby. В более сложном приложении время еще больше отличается. В этом приложении на некоторых страницах выполняется больше рубинового кода. Кажется, что чем больше страница зависит от ruby, тем больше разница в производительности, которую я наблюдаю. Я не занимался настройкой JRuby, так как не знаю, с чего начать.

Итак, мои вопросы: :это нормально? Что я могу сделать, чтобы настроить JRuby?

18
задан Larry Gebhardt 20 April 2012 в 19:21
поделиться