哪个更快:MRI Ruby或JRuby?

ses*_*ses 23 ruby performance ruby-on-rails jruby

如果我使用Ruby on Rails,我应该安装MRI/YARV Ruby还是JRuby?哪个更快?

Mik*_*kel 22

答案取决于许多变量.

但总的来说,Ruby 1.9比JRuby快,但Ruby 1.8比JRuby慢.

例如根据计算机语言基准游戏:

另外,如果您的应用程序是多线程的,JRuby的可能比标准的Ruby一些优势
(又名MRI),这取决于有多少内核你有.

  • ruby 1.9支持*并发*但不支持*parallelism*.如果你想要平行,你的两个选择是jruby和rubinius. (2认同)

jc0*_*0ke 22

最近的基准测试使JRuby处于领先地位,其次是MagLev,Rubinius,然后是MRI.

基准测试很棘手.该红宝石基准套件是大部分使用的基准红宝石.如果删除任何实现失败的基准测试,则会得到以下图表.

RBS

注意我使用了几何平均值.这是平均性能的更好指标,因为它可以规范异常值和机器规格.

您可以运行的最佳基准将特定于您的应用.如果你正在寻找整体性能,你可能想要使用真正的线程,所以Rubinius或JRuby是你唯一真正的选择.

此外,每个实现在不同的事情上都很快.MRI 启动速度非常快,因此对脚本有好处.对于运行时间较长的应用程序(如Web应用程序),Rubinius或JRuby通常比MRI更好.