На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

Сравниваем JRuby и Groovy

пользовал.

Jruby — фактически полный интерперетатор Ruby на jvm. Со всеми вытекающими последствиями. Разработка его ведется в последнее время сверхактивно. Штука достаточно перспективная. Есть java-класс, унаследованный от Servlet, который запускает Ruby-код. К сожалению, тот, что я использовал, был написан применительно к версии 0.

9.2 JRuby, которая уже устарела.

Я ожидал от экспериментов с этими языками производительности. Ибо веб без производительности бессмысленен. Брал Jmeter, 50 бешеных конкурирующих пользователей и проводил тесты. Первый заключался в выводе просто текста. просто hello world на экран. второй тоже выгонял текст, но примерно 70 килобайт объема. Все это — на свежененастроенном томкате.

Вкратце, итоги:

Нелловорлд проходит на ура. 360 страниц в секунду показали оба языка. Ну о чем тут разговор, это фактически выполнение java-сервлета. C большим текстом сложнее. Jruby сбросил до 5 страниц в секунду и отъел кучу памяти. Groovy тоже отъел памяти, но выдал 60 в секунду. спустя 5 минут стали появляться висящие более чем 60 секунд запросы. Впрочем, он отдал все странички.

Итого — грустно. В качестве сервлетов эти языки малопригодны. С груви вообще что-то странное. при выводе совершенно необъяснимым образом страдают UTF-8 строки. такое чувство, что где-то в своих внутренних механизмах он производит конвертирование в ascii и потом обратно.

Сам процесс создания веб-приложений понравился. Так что жду от разработчиков движения вперед, эксперименты продолжаю с надеждой на улучшение ситуации.

Источник: http://www.schleicher.ru/blog/193.html

наверх