Ruby 1.9 综述:Ruby 1.9 的 Ruby-debug、Ruby Switcher 和 MacRuby

  • Werner Schuster
  • 杨晨

2009 年 8 月 15 日

话题:Ruby语言 & 开发

近一段时间 Yehuda Katz 一直在强烈质疑:到底是什么问题使得开发者远离 Ruby 1.9。其实一个很重要的原因是应该归咎于不能在 Ruby 1.9.x 上运行的库和工具的列表上那一长串名字

这个列表正不断缩短。不仅如此,不断的更新中还有近期发布的 Ruby 1.9.x 的ruby-debug 工具。在这个版本中,Ruby-debug 使用原生扩展来减少调试器中运行 Ruby 代码的开销

Mark Moseley最近在 GitHub 上发布了一些代码,专注于如何更有效地减少调试器的开销。其基本思想是:在编译代码的时候采用插入特殊指令的方法来设置 Ruby 代码的断点,从而中断执行。

现在 ruby-debug 1.9.x 的安装指南已经可以在 GitHub 上找到。

随着 Ruby 版本的增多,在不同的 Ruby 实现版本上测试 Ruby 代码变得更加重要。我们在这里提供了一些可用的备选方案,例如使用MultiRuby或者Ruby 版本库站点

近期出现了一个名为Ruby Switcher的新工具。其采用了一种非常简单的思想:使用一个简单的命令来切换 Ruby 版本,例如使用命令use_ruby_191切换到 Ruby 1.9.1,而use_jruby使得ruby命令以及其他的程序库切换到 JRuby。同样,为了正确地切换,这个工具也会下载和安装大量 Ruby 的不同版本。

本文的最后,是来自 MacRuby 的消息:MacRuby 的实验性分支已经被并入到了主干库中。这个实验性分支开发了一个全新的 VM,这个VM 使用了 LLVM来实现 JIT 和预编译(Ahead of Time,简称为 AOT)技术。另外一个更新是 MacRuby移除了 GIL。在这里我们简单介绍一下 MacRuby:MacRuby 是 Ruby 1.9.x 的一个衍生版本,它继承了标准 Ruby 的线程特性,当然包括 GIL 在内。

在下一个稳定发布版本中,观察 MacRuby 的线程性能开销会是如何是个不错的主意;要知道标准的Ruby 1.9.x 在近期的版本中仍然会保留 GIL

查看英文原文:Ruby 1.9 Roundup: Ruby-debug on 1.9, Ruby Switcher, MacRuby

Ruby语言 & 开发