JRuby 近况:带有 Profiler 的 1.1.1 版本、启动性能加速和 GSoC '08

阅读数:55 2008 年 5 月 13 日

话题:JavaRubyRuby on Rails语言 & 开发架构

JRuby 1.1.1 的发布JRuby 1.1进行了bug 修复,例如修复了一个在 IBM 的 JDK 上会出现问题的 bug可以通过查看发布笔记来获得完整的 bug 修复和改进列表

一个新的特性是--profile选项。这可以让 JRuby 启动JIP(The Java Interactive Profiler)。JIP 目前已经成为 JRuby 发布版的一部分,通过配置来实现它和 JRuby 的类载入器(class loader)的协同工作(JIP 采用Java 允许修改字节码的 Instrumentation 特性)。注意:JIP 性能剖析的是 JRuby 运行时的字节码和运行时生成的字节码。

JRuby 的性能方面有持续的改进,JRuby 的Charles Nutter 发现了一种提升 JRuby 启动性能的方法

我刚刚提交了一个修改到 JRuby 的启动脚本中,使得启动速度加快了近 70%(在我使用的环境中)。它 将 JRuby 的 jar(以及 CLASSPATH)载入到 bootclasspath 中而不是普通的 classpath,从而避免了验证过程(显然还有其他 的事情,因为这种方法比 -Xverify:none 还要快)。这同时也是一个安全的修改;JRuby 的核心在发布以前会被验证无数次,而且在运行时生成的 代码会同以前一样被验证。

JRuby 在Google Summer of Code (GSoC) 2008中也有一些项目参与其中:

  • RMagick for JRuby 开发者为 Sergio Rodriguez Arbeo,指导人为 JRuby 的 Thomas Enebo。此项目的目标是支持RMagick库,以便可以访问流行的ImageMagick。正如提到的项目概要一般,已经有一些对 RMagick 的支持存在于JRuby Extras项目中了,而这个项目包含了众多 JRuby 的库。 
  • Useful Rails Benchmarks and JRuby Rails Perf Analysis 开发者为 Sergey Vidyuk,指导人为 JRuby 的 Charles Nutter。此项目的目的是提升 JRuby 运行 Rails 的性能。

查看英文原文:JRuby Roundup: 1.1.1 with Profiler, Startup Performance Boost, GSoC '08