写点什么

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

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

关注

评论

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

架构师训练营第四周作业

W_T

漫画:对象是如何被找到的?句柄 OR 直接指针?

王磊

Java 面试

极客大学算法训练营第一课

落曦

消息队列(五)如何保证消息的顺序性?

奈何花开

Java MQ 消息队列

「架构师训练营」第 4 周 学习总结

guoguo 👻

极客大学架构师训练营

架构师训练营 第4周作业

Glowry

极客大学架构师训练营

架构师训练营 第4周学习总结

Glowry

极客大学架构师训练营

架构师训练营总结-20200627

caibird1984

极客大学架构师训练营

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

donghui

jenkins wordcloud

时间管理的本质到底是什么?

非著名程序员

程序员 提升认知 时间管理

消息队列(四)如何处理消息丢失的问题?

奈何花开

Java MQ 消息队列

戴尔Latitude 9510 雅典娜计划标准的英特尔移动超能版笔记本

最新动态

前端存储除了 localStorage 还有啥

阿宝哥

Java 大前端 存储

架构师训练营第三周作业

陈靓-哲露

第四周总结

芒夏

极客大学架构师训练营

第四周作业

芒夏

极客大学架构师训练营

架构师是怎样炼成的 04-1互联网分布式系统架构演化

闷骚程序员

极客大学架构师训练营

计算机操作系统基础(七)---作业管理之死锁

书旅

php laravel 线程 操作系统 进程

架构设计之常识篇

魔曦

架构师 极客大学架构师训练营

极客时间架构师训练营 - week4 - 作业 1

jjn0703

极客大学架构师训练营

程序员面试与 HR 谈薪资技巧

张小方

程序员 面试 offer 年终奖 月薪

一张PDF了解JDK9 GC调优秘籍-附PDF下载

程序那些事

性能调优 GC JDK9 cheatsheet 秘籍

聊聊Hystrix中的命令模式

老胡爱分享

Java 面试 设计模式 命令模式

Golang中的Interface(接口),全面解析

Eriol

接口 interface Go 语言

架构师训练营作业-20200627

caibird1984

极客大学架构师训练营

理解了 1+2 的过程,你就理解了Java虚拟机

侯树成

JVM JVM原理

架构师训练营:第四周作业

zcj

极客大学架构师训练营

架构师训练营第四周作业

Melo

漫画:15张图,帮你看懂布隆算法

Java小咖秀

面试 算法 布隆过滤器

【6月】本月读书学到了什么

Neco.W

读书感悟 阅读量

Python多重继承问题之MRO和C3算法

wangkx

Python MRO C3算法 多继承

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