看过this interpreter comparison graph后,我想知道MRI主流使用背后的原因,尽管它表现最差。为什么不频繁使用Kiji或Ruby Enterprise Edition;缺乏宝石支持或其他什么?
例如,一些最受欢迎的公司选择了Ruby Enterprise Edition,这归功于它的copy-on-write feature;我想知道是否有其他解释器实现它。
REE可以轻松安装 与您现有的Ruby并行 翻译,允许你切换到 REE具有最小的麻烦或风险。 REE 已经出了好几年了 已被众多知名人士所采用 网站和组织,如 纽约时报, Twitter , Shopify 和 的 37signals的
“我们切换到企业ruby来获取 充分利益 [copy-on-write]内存特性 我们绝对可以确认 其他一些人的记忆力节省了30% 报道。这是几千 即使在今天,储蓄也是如此 硬件价格。“
答案 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出现之前唯一的“官方”语言规范:
答案 2 :(得分:3)
您提到的性能图测试了MRI版本。 1.8。基于YARV的当前“官方”Ruby实现1.9.2的速度更快,并且通常比Rubinius更快或与JRuby相当。 所以结论不再有效,尽管许多站点和其他部署使用的MRI 1.8对他们来说“足够快”。