如果我正在使用Ruby on Rails,是应该安装MRI/YARV Ruby还是JRuby?哪一个更快?
如果我正在使用Ruby on Rails,是应该安装MRI/YARV Ruby还是JRuby?哪一个更快?
最近的基准测试结果显示,JRuby排名第一,MagLev、Rubinius和MRI分别紧随其后。
基准测试是棘手的。大多数人使用Ruby基准测试套件来对Ruby进行基准测试。如果你删除任何一个实现中失败的基准测试,你将得到下面的图表。
请注意,我使用了几何平均值。这是一个更好的平均性能指标,因为它规范化了异常值和机器规格。
您可以运行的最佳基准测试将是针对您的应用程序。如果您正在寻找整体性能,您可能需要使用真正的线程,因此Rubinius或JRuby是您唯一真正的选择。
此外,每个实现在不同的方面都很快。MRI在启动速度方面非常快,因此适合脚本。对于长时间运行的应用程序(如Web应用程序),Rubinius或JRuby通常比MRI表现更好。
有一篇非常好的文章由programmingzen.com的工作人员完成,比较了许多不同版本的Ruby。该文章于去年七月发布,因此仍然相对较新;) 他们的网页比较了以下内容:
* Ruby 1.8.7 p299
* Ruby 1.9.1 p378
* Ruby 1.9.2 RC2
* IronRuby 1.0 (Mono 2.4.4)
* JRuby 1.5.1 (Java HotSpot(TM) 64-Bit Server VM 1.6.0_20)
* MagLev (rev 23832)
* Ruby Enterprise Edition 2010.02
* Rubinius 1.0.1