近一段时间 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
评论