写点什么

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

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

关注

评论

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

ansible 循环

耳东@Erdong

ansible 8月日更 ansible 循环

zookeeper集群怎么搞?

卢卡多多

zookeeper 8月日更

面试篇:虚拟机栈5连问,一听心里就乐了

阿Q说代码

面试 JVM 8月日更 虚拟机栈

Linux之uniq命令

入门小站

Linux

模块一作业2(毕设构架设计)

Laintime

Android开发:新建后缀为txt的文件并且使用的步骤

三掌柜

8月日更 8月

IDEA2020.1构建Spring5.2.x源码

4ye

Java spring 源码 后端 8月日更

Yarn资源调度框架

Geek_qsftko

YARN

手撸二叉树之合并二叉树

HelloWorld杰少

8月日更 数据结构算法

ShardingSphere源码解析 初步准备

Java 源码 ShardingSphere

如此爱国,必然自毁长城

箭上有毒

8月日更

四种常见的 POST 提交数据方式

一个大红包

8月日更

CSS的设计模式(二)BEM与SMACSS

Augus

CSS 8月日更

vue入门:vuex概括与使用

小鲍侃java

8月日更

Android.mk

Changing Lin

8月日更

在线BMI身体质量指数计算器

入门小站

工具

【六顶思考帽】蓝色思考帽

LeifChen

8月日更 创新思维 蓝色思考帽

Vue进阶(五十三):vue-cli 脚手架 webpack.prod.conf.js 配置文件详解

No Silver Bullet

Vue 8月日更

模块五作业

seawolflin

架构训练营

扫码出入登记小程序

清风

小程序

几种常用设计模式的简单示例

编程三昧

JavaScript 大前端 设计模式 8月日更

Golang协程之了解管道的缓存能力

Regan Yue

协程 Go 语言 8月日更

高尚小区

escray

生活记录 8月日更

【LeetCode】压缩字符串Java题解

Albert

算法 LeetCode 8月日更

模块一课后作业

穿裤子的云

架构实战营

架构训练营第一模块作业(1)微信业务构架图学习

Laintime

架构实战营

Android EditText输入框实现下拉且保存最近5个历史记录

Andy阿辉

android Android 小菜鸟 编程思想 8月日更

使用Redisson优雅关闭订单

码农参上

redission 8月日更

Java技术开发专题系列之【Guava Collections】实战使用相关Guava不一般的集合框架

洛神灬殇

Java Guava 8月日更 Guava Collections

云与AI真的能互相成就?还是最好各自独立行走?

白洞计划

磁场消灭癌细胞,是一种新的抗癌方案吗?

脑极体

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