Ruby Enterprise Edition与Ruby 1.9

我打算建立一个简单的CMS网站,用户可以通过video,照片和文字提交和查看post。

我想做的一个决定是在Ruby Enterprise Edition和Ruby 1.9之间进行选择。

我关心的事情是:

  1. 性能和可扩展性。
  2. 与现有gems /插件/开源项目的兼容性。
  3. 开发和部署的速度(我将在VPS上部署)。

你的建议是什么?

根据我的经验,REE倾向于在奇怪的地方抛出mallocs(2009年1月在脚本/控制台中完成标签 – https://webrat.lighthouseapp.com/projects/10503/tickets/89-excessive-output-caused-by-and – 只有运行网络 )。

Ruby 1.9.1在tempfile中有一个巨大的错误,它会破坏Rack(2009年8月出现在patchlevel 243中 – http://groups.google.com/group/rack-devel/browse_thread/thread/a2aab3a4720f34c4?pli=1 )。 除此之外,我不相信Ruby 1.9.1已经使用Rails 2.3.4(String exclusive或 – https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/3144)进行了正确测试-undefined-method-for-string-ror-234 )。

老实说,这取决于你对惊喜的反应。 我在运行2.3.3的服务器上使用旧的补丁级别1.9.1,而不是使用Net :: HTTP中的补丁来使用ActiveResource,它运行速度非常快。

如果你不喜欢惊喜,请坚持1.8.7。

更新10/10/2010

现在我的问题的答案是无效的,Ruby EE和1.9.2都是非常好的Ruby实现!

我不太确定我会选择哪一个,可能是1.9.2 – 或者坚持说出那些人在做什么,因为他们正在开发一个1.9版本的REE – 但是,他们的1.8.7 REE很漂亮固体。

如Phusion所述,他们不会开发1.9版本的Ruby Enterprise Edition,并宣布REE的寿命终止与MRI Ruby 1.8的生命周期结束。 不开发1.9版本的原因是

  • 最近在Ruby 2.0中检查了写时复制补丁。
  • Ruby Enterprise Edition中的许多补丁在1.9中根本不是必需的。
  • 我们希望将精力集中在Phusion Passenger和其他产品上。 我们不是做很多不好的事情,而是想做一些事情,但要做得非常好。

完整的post可以在这里阅读。

因此,我建议使用当前可用且稳定版本的Ruby 2.0.0或以前的稳定版本Ruby 1.9.3。

我的建议是尽可能使用1.9.2,因为1.9.2比REE和MRI 1.8.7快得多。 但请记住,1.9.2像它的MRI 1.8.7并不是一个完整的优化版本,因此与REE相比,你可能会看到更多的RAM被吃掉。 如果你还不能升级到1.9.2,我建议你坚持使用REE。

更新:REE刚刚合并了MRI 1.8.7-p334的所有变化,所以它很好而且很热;)