阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

NOIP考试注意事项

工程师日月

8月月更

音频技术的下一个“热点”,会出现在哪个领域?丨一期一会 • 音频工程师专场

声网

人工智能 音频

网络架构设计概要

阿泽🧸

8月月更

数据技术大融合,HSTAP数据库有多少想象空间?

MatrixOrigin

MatrixOrigin MatrixOne HSTAP

你就是函数响应式编程(FRP)啊?!【附 RxJS 实战】

掘金安东尼

前端 函数式编程 8月月更

灵魂拷问:你精神内耗了吗?由TA来治愈吧

白洞计划

并行接口8255A简介

乌龟哥哥

8月月更

Spring 全家桶之 Spring Security(一)

小白

8月月更

Spring 全家桶之 Spring Security(二)

小白

8月月更

【杂谈】网络协议(二)

自然

网络层 8月月更

leetcode 503. Next Greater Element II 下一个更大元素 II(中等)

okokabcd

LeetCode 算法与数据结构

Rustc 源码学习 - Lint 与 LintPass

chai2010

七种常见的IPv6网络攻击

穿过生命散发芬芳

ipv6 8月月更 网络攻击

关于TAE(Transactional Analytical Engine)的那些事

MatrixOrigin

MatrixOne 矩阵起源 MatirxOrigin TAE

【杂谈】网络协议(一)

自然

网络 8月月更

Kubernetes Argo Rollouts高级的部署能力

CTO技术共享

Kubernetes伟大的未来

CTO技术共享

【算法实践】| 一步步带你实现寻找最大公约数

迷彩

数学 算法解析 算法实践 8月月更 最大公约数

华为云CDN&云视频通信专场:828低价购,CDN0.05元/GB起,短信0.006元/条起

sofiya

多模态算法在视频理解中的应用

之家技术

人工智能 算法 视频 多模态

开源一夏 | Foundation对于模态框以及Subsystems的深入运用的理解心得

恒山其若陋兮

开源 8月月更

字典服务的设计与管理

Java 架构

基于时间戳的日志回放引擎

FunTester

每日一 R「12」数据结构(三)哈希表

Samson

8月月更 ​Rust

头脑风暴:判断子序列

HelloWorld杰少

算法 LeetCode 8月月更

用golang官方Docker镜像运行项目

程序员欣宸

golang 8月月更

gateway网关

急需上岸的小谢

8月月更

828选华为云,实惠更实用——为什么选择华为云CDN的企业多?

sofiya

Java开发微信公众号初体验

源字节1号

前端开发 后端开发 小程序开发

C++多态案例(三)-电脑组装

CtrlX

c c++ 面向对象 8月月更

kubernetes ansible快速构建

CTO技术共享

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