BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JRuby:1.0.3解决兼容性问题,1.1改进性能

| 作者 Werner Schuster 关注 6 他的粉丝 ,译者 宋玮 关注 0 他的粉丝 发布于 2007年12月26日. 估计阅读时间: 3 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。
JRuby 1.0.3 已经发布了,它是JRuby 1.0.x分支的另一个稳定版。在所修正的错误当中,这一版修正了一些与Rails 2.0相关的问题,这些问题是由于Rails 2.0现在需要OpenSSL所引起的。

Nick Sieger,JRuby团队成员,报告了在JRuby 1.0.3中的另一个修改
正常情况下,一个1.0.3版本不至于让人这么兴奋,但是这一回,主干(trunk)的内部API(好几个JRuby扩展所依赖的)开始产生分叉。很不幸,这迫使我们面临一个抉择:要么分叉并维护每个扩展的两个版本(一个是1.0.x,另一个是1.1及更高版),要么中止向后兼容。最终我们选择了后者,宁愿是一个单一教派,也不愿陷入并行版本的苦境。
根据这一点,Nick继续给出了一个有用的表格,显示Ruby库和Gem与JRuby版本的对应关系:
  1.0 - 1.0.2, 1.1b1 1.0.3, 1.1b2
Library  
rubygems <= 0.9.4 <= 0.9.4, = 1.0 *
rails <= 1.2.6,
>= 2.0.x †
any
activerecord-jdbc <= 0.6 >= 0.7
jruby-openssl <= 0.0.5 >= 0.1
goldspike 1.3 1.4
mongrel any ‡ 1.1.2

注意Rails 2.0可以与所有版本一起工作,虽然在表格左手侧JRuby版本(1.0 - 1.0.2, 1.1b1)一列,jruby-openssl <= 0.5 是需要被安装的。

在JRuby 1.1的新闻中,花在改善正则表达式支持和性能上的工作看起来已经兑现。 Tim Bray展示了一个用Ruby写的工具的运行时间,运行是在不同Ruby版本下进行的。最后两行(摘录至此)显示了JRuby 1.1中最近的性能提升(值越低越好):

Elapsed User System
JRuby 1.1b 62.5 63.4 1.3
JRuby trunk 43.5 44.5 1.0

这个JRuby trunk是2007年12月17日源文件的checkout,而这个JRuby 1.1b是几个星期前发布的。在Tim文章的评论中,JRuby的Charles Nutter解释了这两者相当多的区别:
从JRuby 1.1b1到trunk的改进几乎全部归功于Marcin Mielczynski令人惊讶的举动——他将Oniguruma移植到了JVM。我们第一次有了真正的基于byte数组的regex引擎,这意味着JRuby regex性能得到了极大的提升。

查看英文原文:JRuby: 1.0.3 addresses compatibility issues, 1.1 performance update

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT