腾讯亿级用户规模自研业务的上云实践解读,立即报名 了解详情
写点什么

Ruby 性能大比拼:最新 Great Shootout 结果公布,二进制 MRI 速度减半

  • 2008-12-22
  • 本文字数:1042 字

    阅读完需:约 3 分钟

Ruby 实现之间的竞争从未结束,尤其在性能上。一年以前, Antonio Cangiano 启动了 Great Ruby Shootout ,比较了 1.8.6、1.9.0、JRuby、Rubinius 以及已经被废弃的 Ruby.NET 实现。

现在,Antonio发布了Great Ruby Shootout 2008 ,比较了1.8.6、1.9.1、JRuby、Rubinius、 Ruby 商业版、IronRuby,以及最新加入的 MagLev。

一定要记得,对于基准测试,要持有怀疑态度,这一点在 Antonio 身上再次得到验证。Antonio发现了首次运行时的一些问题,并公布了修正后的版本,对一些结果进行了修正。他发现的问题之一,是关于 Debian 的包管理系统中的 Ruby 版本:

如果你通过 apt-get 方式来安装 Ruby 的话,我得给你一个大大的警告。如果从源代码编译的话,你会发现速度翻倍了,这是通 过这些测试检测出来的。我以为只是 10~20% 的提升,结果却是 100%。其原因在于,打包好的 Ruby 使用了–enable-pthreads 进行编 译,这样会有“共享库 vs 静态库”的问题。

Prashant Srinivasan 先前已经提及过--enable-pthread 的问题,并解释了它会拖慢系统的原因。

基准测试还显示出,在 Windows 上的 Ruby 1.8.x 运行速度仅有(从源代码编译的)在 Linux 上运行 Ruby 1.8.7 速度的一半。

目前可用的 Ruby 实现中,最快的要数 Ruby 1.9.1 了,而 JRuby 1.1.6RC1 则紧随其后。从基准测试中可以看出,JRuby 似乎是目前执行 Ruby 1.8.x 代码的最快方式了。

而其他的 Ruby 实现,如 Rubinius 和 IronRuby,依然比 MRI 慢很多。基于 Ruby 1.9 的 MacRuby 0.3 也稍稍慢了些,然而似乎它还没有为生产做好准备,生产版本将会是下一个发布版(MacRuby 0.4 预计将会在年底发布)。

MagLev 的结果也兑现了他们的承诺,很多基准测试都要比 MRI 快很多,但还有一些比较慢。长远来看,MagLev 还是一个相当年轻的项目,今年年初才蹒跚起步。

最后要说明重要的一点。Great Ruby Shootout 所使用的基准测试的代码是由众多小测试构成的,用于测试 Ruby 和 Ruby 运行时的各个独立的特性。就此,Antonio 解释说:

很多人对受测 VM 能为 Ruby on Rails 开发栈带来的改进更感兴趣。不要假定如果 VM A 比 VM B 快三倍,那么 Rails 在每分钟处理的请求数也会多三倍。这不可能。只是说,一个更快的 VM 是一个好消息,无疑可以对生产环境的 Rails 应用产生积极的影响。

在 InfoQ 的采访中, Antonio 解释了更多真实的基准测试的需求,并指出他建立 Ruby 基准测试套件项目正是出于此意图。

查看英文原文: Ruby Performance: Great Shootout Results And A Discovery About Binary MRI vs Source Compiled MRI

2008-12-22 09:431511
用户头像

发布了 80 篇内容, 共 17.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Python代码阅读(第55篇):获取字典的所有键或所有值的列表

Felix

Python 编程 阅读代码 字典 Python初学者

如何巧妙使用Camtasia库中的素材?

淋雨

Camtasia

个人项目管理软件解决方案

低代码小观

项目管理 管理系统 企业管理系统 项目管理工具 企业管理工具

杨冰:OceanBase助力数字化转型,原生分布式数据库成核心系统首选

OceanBase 数据库

数据库 开源 分布式 云栖大会 核心系统

MySQL Operator 01 | 架构设计概览

RadonDB

MySQL 数据库 Kubernetes RadonDB

git submodule 添加/删除

webrtc developer

加速拥抱支持开源生态 | OceanBase 开源版3.1.1正式发布

OceanBase 数据库

数据库 开源 开发者 成绩单 DTCC

共筑数据库未来 | 2021 OceanBase 原生分布式数据库论坛回顾

OceanBase 数据库

开源 分布式 #数据库 云栖大会 圆桌论坛

百度人脸活体检测系统通过信通院“护脸计划”首批优秀级安全防护能力评估

百度开发者中心

安全 人脸识别 百度安全

Cube 技术解读 | 详解「支付宝」全新的卡片技术栈

蚂蚁集团移动开发平台 mPaaS

大前端 支付宝 移动开发 mPaaS cube

“初雪”与“向量化” | StarRocks Hacker Meetup 小记

StarRocks

数据库 大数据

京东三面(后端)凭借这份Java面试复盘手册,已斩获60K*15offer

Java spring 程序员 算法 JVM

Nocalhost 亮相 CD Foundation 国内首届 Meetup,Keith Chan 将出席致辞

CODING DevOps

Linux Nocalhost Meetup CDF

SAP x EMQ 碳中和方案亮相进博会,数据基础设施支撑低碳发展

EMQ映云科技

物联网 IoT mqtt 进博会 SAP

腾讯大数据全场景在离线混部系统Caelus正式开源

科技热闻

OceanBase 3.2 正式发布 | 更硬核的 HTAP,TPC-H 性能提升6倍!

OceanBase 数据库

数据库 分布式 云栖大会 核心系统 一体化架构

Apache APISIX 扩展指南

Apache APISIX 中文社区

Apache 插件 API网关 Apache APISIX

使用 OpenCV 和 Python 识别数字

AI浩

OCR

长隆熊猫酒店联合番禺消防大队开展“我是小小消防员”活动

江湖老铁

融合通信技术趋势和演进方向

网易云信

云通信 通信云 传输协议

“你好,天津”网络短视频大赛月内启动

InfoQ 天津

300行ABAP代码实现一个最简单的区块链原型

Jerry Wang

区块链 SAP abap 11月日更

如何用WebIDE打开并运行CRM Fiori应用

Jerry Wang

Cloud SAP 11月日更

ABAP和Java的destination和JNDI

Jerry Wang

SAP JNDI hana 11月日更

测试编排必要性

FunTester

敏捷 测试 敏捷测试 FunTester 测试编排

阿里云云合计划走进深圳,实践助推生态持续创新

技术 科技革命 生态 “互联网+”

浪潮云说丨GPU云服务器,助力AI计划轻松实现

浪潮云

云计算

解决大数据分布式计算痛点:腾讯正式开源分布式远程Shuffle服务Firestorm

科技热闻

新赛季集结!“百度AI创意派”正在寻找有创意的你

科技热闻

OpenMLDB v0.3.0 正式发布,支持快速部署使用的单机模式

第四范式开发者社区

开源 第四范式 OpenMLDB

Ruby性能大比拼:最新Great Shootout结果公布,二进制MRI速度减半_Java_Werner Schuster_InfoQ精选文章