【问题标题】:Scala web framework performance on raspberry pi树莓派上的 Scala Web 框架性能
【发布时间】:2014-01-16 15:41:02
【问题描述】:

我需要编写一个基于 Web 的小型 UI,它可以在 raspi 上运行,并且由于我试图将一些 Scala 引入我的日常工作,我想使用 PlayScalatra 之一或Lift。有人有使用这些框架为 Raspberry Pi 开发的经验吗?如果是这样,从性能方面来看,哪一个更可取?

【问题讨论】:

  • 在这样的设备上播放、提升,甚至 Scalatra 或者,实际上,Scala 几乎是不可能的。除了 flavian 关于 RAM 的观点之外,Scala 可以说只适用于台式机、服务器或从 CPU 速度和处理器缓存的角度来看今天符合高端移动设备的条件。
  • @{flavian, Randall} : pi B 有 512 MB RAM,我不会认为它是低内存环境。我已经在 Scala 中使用过它,它实际上工作得很好,我担心的是这些框架的开销。

标签: scala playframework raspberry-pi lift scalatra


【解决方案1】:

人们报告说使用 Scalatra 的低内存性能非常好。一个例子写在:

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

在博客文章和 IRC 对话中,内存使用率数据低至 ~30MB 到 ~40MB。

一些提示:

1) Scalatra 允许您准确选择所需的依赖项。核心 HTTP 路由器可以在 Raspberry Pi 上正常工作 - 选择其他库时要格外小心,并在添加新 jar 时对内存使用情况进行基准测试。

2) 默认情况下,当前的 Scalatra g8 模板将为您连接预编译的 Scalate 模板。这些在普通服务器上很好,并且已经为您设置好东西通常非常方便,但在内存受限的环境中,您首先要考虑放弃或优化它们。

3) Freenode 上的#scalatra irc 频道中至少有三个人已经尝试在 Pi 上运行它,因此根据您的用例,他们的痛苦可能是您的收获。

4) 通过将 Scalatra 应用程序作为独立的 Jetty servlet 启动,您将获得尽可能好的内存消耗。这在Scalatra standalone deployment guide中有详细说明。

【讨论】:

  • 我实际上已经对 Play 进行了第一次尝试,虽然它需要大约一分钟才能启动,但在那之后它运行得非常好。如果我遇到任何性能问题,我会考虑使用 Scalatra。谢谢!
【解决方案2】:

Diego Medina 不久前发表了一篇关于在 Raspberry Pi 上成功使用 Lift 的博客:http://blog.fmpwizard.com/blog/lift-running-on-raspberrypi

【讨论】:

    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 2014-03-20
    • 2012-12-04
    • 2014-01-18
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多