2014-01-16 7 views
6

Мне нужно написать небольшой веб-интерфейс, который будет работать на raspi, и так как я пытаюсь вытащить Scala в свою повседневную работу, я бы хотел использовать один из Play, Scalatra или Lift. У кого-нибудь есть опыт разработки для малины Pi с этими структурами? Если да, то какой из них более целесообразен с точки зрения производительности?Производительность веб-фрейма Scala на малине pi

+0

Play, Lift, даже Scalatra или, действительно, Scala вообще, вероятно, почти невозможно на таком устройстве. В дополнение к точке Флавиан об ОЗУ, Scala, возможно, только жизнеспособна на настольных компьютерах, серверах или тем, что сегодня квалифицируется как мобильные устройства высокого класса с точки зрения скорости процессора и процессора. –

+2

@ {flavian, Randall}: у pi B есть ОЗУ 512 МБ, я бы не считал его средой с низкой памятью. Я уже использовал его с Scala, и это работает очень хорошо, мои проблемы связаны с накладными расходами из этих фреймворков. – Chirlo

ответ

11

Люди сообщили о очень хорошем снижении производительности памяти с помощью Scalatra. Одним из примеров рецензия по адресу:

http://fehguy.tumblr.com/post/33760322808/my-house-heater-has-a-rest-api-with-phidgets-scala

показатели использования памяти по цене от ~ 30MB до ~ 40MB было толков в блогах и IRC-разговоров.

Некоторые советы:

1) Scalatra позволяет выбрать, какие именно зависимости вы хотите. Основной HTTP-маршрутизатор будет отлично работать на Raspberry Pi - будьте предельно осторожны с выбором дополнительных библиотек и сравнением использования памяти, когда вы добавляете новую банку.

2) Текущий шаблон Scalatra g8, по умолчанию, подключит предварительно скомпилированные шаблоны Scalate для вас. Это нормально на обычном сервере, и, как правило, очень удобно иметь настройки для вас уже, но в среде с ограничением по памяти это первое, что вам нужно посмотреть на то, чтобы выкачать или оптимизировать.

3) По крайней мере три человека в канале #scalatra irc на Freenode уже экспериментировали с его запуском на Pi, поэтому в зависимости от ваших случаев использования их боль может быть вашей выгодой.

4) Вы получите максимально возможное потребление памяти, запустив приложение Scalatra в качестве автономного сервлетов Jetty. Это подробно описано в Scalatra standalone deployment guide.

+1

Я на самом деле сделал первую попытку с игрой, и хотя ей нужно около минуты, чтобы загрузиться, после этого она работает довольно хорошо. Если у меня возникнут проблемы с производительностью, я рассмотрю Скалатру. Благодаря! – Chirlo

Смежные вопросы