红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

Ruby Enterprise Edition 新版本切换至 Ruby 1.8.7

  • 2009-10-15
  • 本文字数:1101 字

    阅读完需:约 4 分钟

Phusion发布了新的 Ruby Enterprise Edition ,版本号为 1.8.7-20090928。之前的版本都基于 Ruby 1.8.6,该版本开始基于 Ruby 1.8.7。Ruby 1.8.7 发布已经有段时间了,为什么现在才切换到 1.8.7 呢?Phusion 在发布声明中解释了这个问题:

我们起先并不愿意切换到 1.8.7:很多人报告说在引入 1.8.7 后遇到了各种不兼容的情况,而且其他几个 Ruby 实现都抵制 1.8.7。然而,现在的情况不同了。Rails 3.0 将不再支持 Ruby 1.8.7 之前的版本,JRuby 最近也决定支持 1.8.7,并且 OS X Snow Leopard 和所有 Linux 发行版都自带了 1.8.7。我们已经收到了来自社区的很多请求,希望能有一个基于 1.8.7 的版本。

本次发布还有一些其他的消息——新版本集成了 Brent Roman 的 MBARI 补丁,它能改善性能、减少内存开销。为了提升多线程速度,该版本中还包含了一个作为可选实验特性的补丁(作者是Joe Damato 和Aman Gupta)

这些补丁究竟起了多少改善作用呢?Twitter 对该版本做了测试,正如Evan Weaver 报告的那样,它在吞吐量上带来了显著的提升。Evan 还补充道“比起-O2 或-O3(针对速度优化),用-Os(针对大小优化)编译的Ruby 更快一些。Phusion 的 Hongli 指出 Ruby 的指令局部性很糟,主要是靠将指令塞进指令缓存中来改善性能的”。

InfoQ 向 Ruby Enterprise Edition 团队咨询了在升级到新版本时是否存在一些问题。Phusion 的 Ninh Bui 回答道:

呃,除了从 1.8.6 到 1.8.7 的兼容性问题,tcmalloc——我们使用的内存分配器——在 Snow Leopard 上还无法正常工作。

Ninh 的同事 Hongli 还补充说:

目前 Xen 的支持方面还存在一些问题:有报告说 REE 在 Xen 中运行时输出了很多(无害的)警告信息。我们计划在以后的版本中加入 Xen 特有的编译标志来解决这个问题。至于 1.8.6 和 1.8.7 的不兼容性,这是由语义变化造成的,例如,一些方法现在不再返回 Array,改为返回 Enumerable;一些标准库类有细微变化,等等。 社区已经接受了这些变化,因此我并不认为会有不兼容的问题。

您可在 www.rubyenterpriseedition.com 获取到 Ruby Enterprise Edition 的新版本。

查看英文原文: New Ruby Enterprise Edition Release Switches to Ruby 1.8.7 - - - - - -

译者介绍:丁雪丰,网名 DigitalSonic,满江红开放技术研究组织核心成员, Spring Framework 2.0 & 2.5 文档翻译项目负责人,也参与了 Hibernate、Seam 等多份文档的翻译及校对工作。平时积极投身开源项目,是著名SFTP/SCP 软件WinSCP 的简体中文汉化者。参与翻译及编著的书籍有《Spring 攻略》《JRuby 实战》等。InfoQ 中文站内容团队,尤其是架构、SOA 和Ruby 社区需要您的参与,有意者请邮件至 editors【AT】cn.infoq.com

2009-10-15 04:411445
用户头像

发布了 135 篇内容, 共 58.4 次阅读, 收获喜欢 43 次。

关注

评论

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

AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能

No Silver Bullet

定位 百度地图 AngularJS 12月月更

再突破!MatrixDB 在 PostgreSQL 领域获双重大奖!

YMatrix 超融合数据库

数据库 postgresql 超融合数据库 YMatrix

编码开发如何开展API安全实现

穿过生命散发芬芳

12月月更

架构实战营 - 微信业务架构图 & “学生管理系统”毕设架构设计

huiwen

架构实战营

自制操作系统番外:编程语言中变量是如何存储的

编程语言

Camtasia Studio2023软件和谐版录制电脑屏幕软件

茶色酒

Camtasia Studio2023

深刻理解JAVA并发中的有序性问题和解决之道

JAVA旭阳

Java Java并发

架构训练营模块1作业

附加信息

架构训练营

AngularJS进阶(二十)HTML5实现获取地理位置信息并定位功能

No Silver Bullet

H5 AngularJS 12月月更 地理位置

Flutter — 仅用三个步骤就能帮你把文本变得炫酷!

编程的平行世界

flutter android

极客时间架构训练营作业-模块一

张建闯

架构实战营

架构实战营 1-5 学生管理系统实战随堂测验

西山薄凉

「架构实战营」

架构实战营 1-6 学生管理云平台实战随堂测验

西山薄凉

「架构实战营」

为什么FDA和MITRE也提及SBOM ? - 解读《医疗器械网络安全区域事件准备和响应手册》

安势信息

网络安全 SCA工具 SBOM 医疗器械 安势信息

企业如何应对开源软件供应链安全问题?

安势信息

开源 开源安全 软件供应链安全 开源安全与治理 清源CleanSource SCA

Centos7.x部署K8S集群 (基于containerd 运行时)

蜗牛也是牛

深入理解PKI

俞凡

架构 网络安全 网络

Python:灵活的开发环境

eng八戒

Python Python自动化办公

极客时间 - 运维进阶训练营 - 第六周作业

dog_brother

AngularJS进阶(十七)在AngularJS应用中集成微信认证授权遇到的坑

No Silver Bullet

AngularJS 12月月更 微信认证授权

Golong Context package

陈庆宗

Context #go

DevOps真死了?平台工程真有用?

agnostic

DevOps 平台工程

bat脚本常用命令及测试

@下一站

软件开发 BAT 12月日更 12月月更

MySQL锁,锁的到底是什么?

蝉沐风

MySQL innodb MVCC

架构实战营-模块1作业

小圆

2022-12-04:给定一个由 ‘[‘ ,‘]‘,‘(‘,‘)’ 组成的字符串, 请问最少插入多少个括号就能使这个字符串的所有括号左右配对, 例如当前串是 “([[])“,那么插入一个‘]‘即可满足

福大大架构师每日一题

算法 rust 福大大

mysql优化之 performance Schema常用查询sql

@下一站

MySQL 优化 12月日更 12月月更

MongoDB源码学习:catalog与storage

云里有只猫

mongodb 源码刨析

架构实战营模块一作业

张Dave

【愚公系列】2022年12月 微信小程序-组件模板和组件样式

愚公搬代码

12月月更

足球比赛中的数据科学

CnosDB

数据库 时序数据库 开源社区 CnosDB infra

Ruby Enterprise Edition新版本切换至Ruby 1.8.7_Ruby_Mirko Stocker_InfoQ精选文章