在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:412075
用户头像

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

关注

评论

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

快速配置浏览器 https 访问 Kibana(qbit)

qbit

elasticsearch TLS Kibana ssl

IM系统消息丢失问题排查反思

轻口味

IM Android; 10月月更

keytool生成keystore、truststore、证书

黄敏

青岛敏捷之旅,来了!

禅道项目管理

敏捷 敏捷教练 青岛

技术分享| RTC通讯中常用的图像格式

anyRTC开发者

音视频 RTC 图像格式 rgb yuv

CSS架构之Components层

Augus

CSS 10月月更

015云原生之大数据技术

穿过生命散发芬芳

云原生 10月月更

小知识系列:查询数据库数据的元信息

程序那些事

Java 数据库 元数据 程序那些事

粪菌移植的背后,肠道菌那些你不知道的事儿

脑极体

【Vuex 源码学习】第十二篇 - Vuex 插件机制的实现

Brave

源码 vuex 10月月更

并发相关的性质学习笔记

风翱

并发 10月月更

SpringBoot 实战:在 RequestBody 中优雅的使用枚举参数(原理篇)

看山

Java Spring Boot Effective Spring 10月月更

智能运维之日志语义异常检测

云智慧AIOps社区

日志 数据处理 异常检测 智能运维 算法实践

第 16 章 -《Linux 一学就会》- Linux计划任务与日志的管理

学神来啦

Linux linux运维 linux学习 linux一学就会

SSRF漏洞实例分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞分析

存量时代会员深度运营逻辑

boshi

深度思考 运营

在线下划线转驼峰,驼峰转下划线工具

入门小站

工具

【LeetCode】Fizz Buzz Java题解

Albert

算法 LeetCode 10月月更

python 数据库编程,这篇是针对 mysql 的,滚雪球学Python第4季第13篇

梦想橡皮擦

10月月更

《沸腾新十年》背后的N重空间

博文视点Broadview

Vue进阶(幺叁肆):npm查看包版本信息

No Silver Bullet

Vue 表单校验 10月月更

喜大普奔!焱融科技正式推出 SaaS 数据服务平台

焱融科技

云计算 高性能 公有云 文件存储 分布式,

阿里架构师总结Go语言和java语言之间的对比联系

hanaper

Leetcode 题目解析:279. 完全平方数

程序员架构进阶

算法 LeetCode 动态规划 10月月更

linux中vi,vim操作技巧

入门小站

Linux

”微博评论“的高性能高可用计算架构

缘分呐

架构设计实战

【Flutter 专题】30 图解自定义底部状态栏 ACEBottomNavigationBar (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

直播分发选低延迟 RTC 还是 CDN?

融云 RongCloud

CDN 直播 RTC

火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性

字节跳动终端技术

ios android 大前端 MARS-APMPlus

Prometheus 基础查询(一)

耳东@Erdong

Prometheus 10月月更

Facebook宕机事故,暴露了上云不是唯一的答案

脑极体

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