RubyKaigi 2008:标准化与 Ruby 1.9 路线图

  • Kaz Tajima
  • Mirko Stocker
  • 颜勋

2008 年 7 月 10 日

话题:Ruby语言 & 开发

这是 InfoQ 关于 RubyKaigi 2008 新闻报道的第二部分,第一部分详见Ruby 之父 Matz 采访

Ruby 标准化

Yukihiro "Matz" Matsumoto 提出了其标准化 Ruby 的想法。标准化的目的在于增强不同的 Ruby 实现(比如 JRuby 和 IronRuby)之间的兼容性,使其成为更加开放的标准。Matz 打算将标准提交 ISO(国际标准化组织),但具体日期尚未确定 — 仅仅提到 "至少需要几年的时间进行标准化"。

Ruby 1.9x 线路图

在大会的第二天,Koichi Sasada — YARV 的开发者 — 揭开了 Ruby 1.9x 的路线图的面纱,并提到 Ruby 1.9.1 的发布版本将在 2008 年圣诞节发布。当前的 Ruby 1.9.0 总是 development release 版本的, 而 1.9.1 将成为 1.9 系列的第一个稳定发布版本,因此可以在产品中加以使用。当前的一些更新版本 1.9.0-2, 1.8.7-p22, 1.8.6-p230, 以及 1.8.5-p231 也在同一天发布。

Ruby 1.9 的开发路线图如下:

  • 7 月 25 日 1.9.0-3
  • 8 月 25 日 1.9.0-4
  • 9 月 25 日 1.9.0-5 (功能冻结)
  • 10 月 25 日 1.9.0-6 (1.9.1 RC1)
  • 11 月 25 日 1.9.0-7 (1.9.1 RC2)
  • 12 月 20 日 1.9.1

新版本的 Ruby

Koichi Sasada 谈到了新版本的 Ruby 中可能会出现的新特性。

  • MVM Ruby 对于多虚拟机 (MVM) 的支持,例如用于手机。
  • 原子化 Ruby Ruby 的编译生成可以只包含需要的特定模块,其目标在嵌入式设备上的使用。
  • 字节码序列化 这是实现原子化 Ruby 的一项技术, 字节码序列化将非常的有好处;因为不需要对源码进行分析,如果包含整个序列化字节码的话,就不再需要解析器了,这样就可以不对其进行编译生成。这对于家用电器的微机控制器或是将代码分布到集群的其他节点来讲是非常有用的。
  • 字节码到 C 的转换器 通过将字节码生成源码,就可以使用现有的 C 编译器进行优化,同时可以在没有 Ruby 实现的平台加以执行。
  • HPC 的优化 在 64 位机器上浮点数可以被认为是一个中间值。相比将浮点数置于堆的安全的方法,这种方法减少了一半的获取次数,同时使其更快并减少的垃圾回收器的激活次数。研究显示对于浮点计算其性能几乎提升了一倍。
  • 内存分配和 GC 由于 YARV 的引入增加了垃圾回收和内存分配的代价,因此需要考虑实时垃圾回收或压缩垃圾回收。
  • 有效的分离优化 为了适应类的重新加载以及方法的重定义,JIT 编译码可以被恢复并加以修改。

查看英文原文:RubyKaigi 2008: Standardization, 1.9 Roadmap
Ruby语言 & 开发