前几周,Ruby企业版(Ruby Enterprise Edition,简称REE)升级到了1.8.7,各个方面对这个版本的运行情况都十分满意。下面,InfoQ的Mirko Stocker对REE 1.8.7的一些情况进行了总结。
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的新版本。
分享到:
相关推荐
- **Ruby**:版本为 1.8.7,这是 Redmine 所需的 Ruby 版本。 - **RubyGems**:版本为 1.6.2 或 1.3.7,用于 Ruby 包管理。 - **Rake**:版本为 0.8.7,用于自动化任务执行。 - **Rails**:版本为 2.3.11 或 ...
这个版本发布于2011年,是Ruby 1.8系列的一个稳定版,提供了一些安全性和性能的改进。Ruby 1.8系列是Ruby历史上的一个重要阶段,它引入了许多开发者熟悉和喜爱的功能,尽管现在最新的稳定版本已经到了3.x系列。 ...
Ruby企业描述从 Phusion 安装 Ruby 企业版 (REE)。要求食谱: build-essential - 获取编译器和相关文件属性node['ruby_enterprise']['install_path'] - 安装 REE 的位置。 默认 /opt/ruby-enterprise node['ruby_...
- **兼容性提升**:JRuby 1.7.8 对 Ruby 1.8.7 和 1.9.3 的兼容性进行了优化,确保了大多数 Ruby 代码可以在 JRuby 上正常运行。 - **性能优化**:这一版本继续提升了 JRuby 的性能,尤其是在处理大型数据集和并发...
标题中的"rubygems-1.3.7"指的是RubyGems的一个特定版本,这个版本适用于较老的Ruby环境,如Ruby 1.8.7。在当时,RubyGems 1.3.7是帮助开发者管理他们的依赖关系和扩展功能的重要工具。 在RubyGems 1.3.7中,包含了...
在RHEL 5.3上,可以通过添加EPEL仓库并使用`yum`来安装Ruby 1.8.2及以上版本,但避免安装1.8.7以上的版本,因为Puppet可能不兼容。安装命令包括: ```bash # rpm -Uvh ...
软件栈方面,RHEL 6包含了GCC 4.4(兼容RHEL 4和5的组件)、OpenJDK 6、Tomcat 6、Ruby 1.8.7和Rails 3、PHP 5.3.2以及Perl 5.10.1。数据库选项包括PostgreSQL 8.4.4、MySQL 5.1.47和SQLite 3.6.20。 RHEL 5,作为...
RHEL 6预装了一系列最新的软件包,如GCC 4.4、OpenJDK 6、Tomcat 6、Ruby 1.8.7和Rails 3、PHP 5.3.2、Perl 5.10.1等。这些组件不仅提供了最新的开发工具和技术,还确保了与RHEL 4和RHEL 5版本的兼容性。 ##### 5. ...
- Ruby 1.8.7与Rails 3。 - PHP 5.3.2与Perl 5.10.1。 - 数据库前端包括PostgreSQL 8.4.4、MySQL 5.1.47和SQLite 3.6.20。 #### RHEL 5 发布历史与特点 - **发布时间**:2007年3月14日。 - **主要变化**: - ...