为什么MRI是主流的Ruby解释器,而它表现最差?

时间:2011-05-24 07:08:49

标签: ruby-on-rails ruby interpreter ruby-enterprise-edition

看过this interpreter comparison graph后,我想知道MRI主流使用背后的原因,尽管它表现最差。为什么不频繁使用KijiRuby Enterprise Edition;缺乏宝石支持或其他什么? Ruby comparison graph

例如,一些最受欢迎的公司选择了Ruby Enterprise Edition,这归功于它的copy-on-write feature;我想知道是否有其他解释器实现它。

  

REE可以轻松安装   与您现有的Ruby并行   翻译,允许你切换到   REE具有最小的麻烦或风险。 REE   已经出了好几年了   已被众多知名人士所采用   网站和组织,如   纽约时报 Twitter Shopify 和   的 37signals的

     

“我们切换到企业ruby来获取   充分利益   [copy-on-write]内存特性   我们绝对可以确认   其他一些人的记忆力节省了30%   报道。这是几千   即使在今天,储蓄也是如此   硬件价格。“

3 个答案:

答案 0 :(得分:6)

MRI是Matz's Ruby Interpreter的缩写。 Matz是Yukihiro Matsumoto的缩写,它是Ruby的发明者和主要作者的名字。这就是为什么它是主要的实现:它是最初的实现,所有其他的后来出现。 MRI仍然是参考,所有其他人需要与MRI兼容。但是Matz试图让开发更加规范化,而不是实现驱动的AFAIK。

答案 1 :(得分:4)

为什么不更频繁地使用Kiji或Ruby Enterprise Edition;

你为什么假设他们不是?我们是Rails商店并在REE上托管我们的应用程序,我个人知道使用Rails的大多数其他公司也是如此。我们还为JRuby和Rubinius设立了分支机构,我们偶尔会为我们提供最终转换翻译的选项。

使用MRI的一个原因是它是语言创建者本身的规范Ruby实现,它基本上是RubySpec出现之前唯一的“官方”语言规范:

http://www.rubyspec.org/

答案 2 :(得分:3)

您提到的性能图测试了MRI版本。 1.8。基于YARV的当前“官方”Ruby实现1.9.2的速度更快,并且通常比Rubinius更快或与JRuby相当。 所以结论不再有效,尽管许多站点和其他部署使用的MRI 1.8对他们来说“足够快”。