Ruby 2.2.0-preview2发布了

naruse 发表于 2014-11-28
翻译: Will

我们很高兴地宣布,Ruby 2.2.0-preview2 发布了。

Ruby 2.2.0-preview2 是 Ruby 2.2.0 的第二个预览版,针对使用者日益增多的各类需求,进行了许多更新和修正,增加了许多新的功能。

例如,符号 GC 使得符号对象可以被垃圾回收器回收了。这减少了符号的内存占用,因为在 2.2 版本之前,GC 都是不能回收符号对象的。因为 Rails 5.0 版本将支持对符号 GC,所以只支持 Ruby 2.2 或之后的版本(参考 Rails blog post获取更多信息)。

同时,新使用的增量垃圾回收器减少了停滞时间,对运行 Rails 应用非常有利。

另一个与内存管理相关的功能是给 configure.in 增加了新的选项,可以启用 jemalloc,请参考 Feature #9113。这个功能还在实验阶段,目前默认没有开启,我们需要收集实际使用和性能的数据来确认有良好的效果。确认之后这个功能会默认开启。

另外一个是 在 system() 和 spawn() 中使用 vfork(2) (日文)。这预计会大幅提升 Process 执行外部命令的速度。但 vfork(2) 仍是一个有风险的系统调用。 我们希望通过收集使用情况和性能数据来确认是否有比较大的回报。

请尝试并享受用 Ruby 2.2.0-preview2 编程,并告诉我们你的发现。

Ruby 2.1 以后的重要变更

  • 增量 GC (YARV Maniacs No.12)
  • 符号 GC (presentation at RubyKaigi 2014)
  • configure –with-jemalloc Feature #9113
  • 核心函数库:
    • 支持 Unicode 7.0 #9092
    • 新的方法:
      • Enumerable#slice_after #9071, Enumerable#slice_when #9826
      • Float#next_float, Float#prev_float #9834
      • File.birthtime, File#birthtime #9647
      • String#unicode_normalize #10084
  • 内建函数库:
    • 升级 Psych 至 2.0.6;
    • 升级 Rake 至 10.4.0;
    • 升级 RDoc 至 4.2.0.alpha (21b241a);
    • 升级 RubyGems 至 2.4.4+ (2f6e42e);
    • 升级 rubygems 至 2.4.4+ (2f6e42e);
    • 升级 test-unit 至 3.0.7(从代码目录删除,现绑定在 tarball 中);
    • 升级 minitest 至 5.4.3(从代码目录删除,现绑定在 tarball 中);
    • 弃用 mathn;
  • C API;
    • 删除已弃用的 API;

参考 NEWS in Ruby repository (WIP) 获取更多信息。

以上改动,修改了 1239 个文件,新增代码 98343 行, 移除代码 61858行。

下载

发布公告

同时请参考发布进程表及其他信息:

最新消息

更多新闻...