
运用Ruby纤程进行异步I/O:NeverBlock和Revactor
Rails 2.2已经将线程安全提上日程,但是阻塞I/O程序库使得必须要需要运行多个Ruby实例才行吗?我们来看看非阻塞I/O和Ruby 1.9的纤程(Fibers)是如何来解决这个问题的。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。

Rails 2.2已经将线程安全提上日程,但是阻塞I/O程序库使得必须要需要运行多个Ruby实例才行吗?我们来看看非阻塞I/O和Ruby 1.9的纤程(Fibers)是如何来解决这个问题的。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。

在Ruby世界中流行着一个误解:Ruby没有调试器。这是明显的错误——Ruby不但有调试器,还有供调试器用的GUI和API。InfoQ仔细调查了Ruby世界中调试器的现状——发现Ruby的调试功能支持已经很好了。

随着Erlang对Actors的普及,Rubinius增加了多虚拟机技术(Multi-VM),还有Ruby 1.9加入了另一种并发机制——纤程Fibers(协程),Ruby的并发程序世界正逐渐扩大。就此我们采访了MenTaLguY。他致力于Ruby世界中的Rubinius,JRuby以及并发程序的许多方面。
JRuby 1.1.3协同Gems 1.2发布了。新版本在性能方面有很大提升,解决了早期版本存在的诸多问题。此外,对于JRuby类库的支持目前正处于持续增加中,比如针对JRuby的rcov 的开发已列入计划,Rubinius的 Foreign Function Interface(FFI)的提交及其MVM API。
Antonio Cangiano启动了Ruby基准评测套件项目,旨在广泛收集基准点以便Ruby的用户和实现者们可以借此来比较不同的实现。我们就开发计划对Antonio进行了访问,并了解到下一Ruby评测的时间表。
头条新闻是:John Lam宣称IronRuby能运行Rails了。另一条Ruby VM新闻是:Rubinius正在试验内联方法。另外,Ruby 1.8.7发布了。
OODB厂商Gemstone正致力于名为MagLev的Ruby虚拟机的开发。来自Seaside和DabbleDB的Avi Bryant帮助Gemstone来基于Smalltalk虚拟机的Ruby运行时,以提供性能和强大的持久性等特性。我们访问了Avi Bryant和来自Gemstone的Bob Walker,了解到MagLev背后的技术以及今后的计划。