InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

JRuby 1.6发布首个RC版本

作者 丁雪丰 发布于 2011年1月13日

领域
语言 & 开发
主题
JRuby ,
Ruby ,
动态语言 ,
Java ,
语言 ,
RubyGems ,
编程 ,
Ruby 1.9

JRuby在众多Ruby VM社区中称得上是比较活跃的一个社区,几乎每个月都会发布新版本,继去年12月发布了1.5.6之后,近日,JRuby团队“如期”在其官方网站发布了JRuby 1.6的首个RC版本,即1.6.0.RC1。

据称,1.6.0.RC1是迄今为止最大的一个发布,有超过2000次提交,解决了265个问题。该版本大大改进了对Ruby 1.9.2的兼容性,提升了性能,针对Windows用户的用户体验做了优化,还加入了Ruby Summer of Code 2010中的C扩展支持,以及RubyGem的Maven支持。

官方声明中还列举了以下一些主要特性:

  • 内置剖析器
  • RubyGems 1.4.2
  • 不再捆绑RSpec
  • jruby-complete.jar包含1.9标准库
  • 改善嵌入API

此次新增的内置剖析器得到了RedCar作者Dan Lucraft的帮助,JRuby核心开发者Charles Nutter还发表了一篇博客,通过示例介绍了--profile.flat和--profile.graph这两个新参数的用法:

~/projects/jruby ➔ jruby --profile.flat -e "def foo; 100000.times { (2 ** 200).to_s }; end; foo"

Total time: 0.99

    total        self    children       calls  method
----------------------------------------------------------------
     0.99        0.00        0.99           1  Object#foo
     0.99        0.08        0.90           1  Fixnum#times
     0.70        0.70        0.00      100000  Bignum#to_s
     0.21        0.21        0.00      100000  Fixnum#**
     0.00        0.00        0.00         145  Class#inherited
     0.00        0.00        0.00           1  Module#method_added

根据Charles的另一篇博客,JRuby 1.6 RC版的启动速度也得到了不少改进,尤其是装有大量Gem,且需要在启动时加载RubyGems的情况。他的JRuby中有将近500个Gem,之前执行一次require 'rubygems'少说也要6秒多,改进后时间缩短至1秒内。根据笔者试用,仅有少量Gem时,效果也非常明显,可以从2秒降至1秒内。

希望JRubyist们能更多地试用JRuby新版本,并提出宝贵意见,尤其是其1.9模式,也为JRuby的成长献上一份绵薄之力。

丁雪丰 是InfoQ中文站编辑,满江红翻译组核心成员,出版过《Spring攻略》、《JRuby实战》等多部译著。主要关注领域:企业级应用、海量数据计算、动态语言应用等。