最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

JRuby 1.0 丰收在望

  • 2007-04-04
  • 本文字数:1339 字

    阅读完需:约 4 分钟

自从约一个月以前 JRuby 0.9.8 发布以后,与 JRuby 进展的相关消息似乎变得消声匿迹了。但是,来自 JRuby 阵营的最新消息让我们的疑团烟消云散:整个 JRuby 团队正在快马加鞭,希望赶在JavaOne 开始之前发布JRuby 1.0

在他的最新博客文章中, Charles Nutter 向大家展示了第一个产品级发布将带来的一些令人振奋的改进。其中,性能的提升非常引人瞩目:

……目前主干代码的性能比 0.9.8 版的性能提升了两倍(……)。此外,编译器支持的语法构造几乎达到 0.9.8 版的两倍,且每天它都朝着更快更稳定的方向迈进。即便仍属解释执行,事实上有不少 benchmark 显示它比 MRI(Ruby 的 C 语言版本)运行得还要快。

另外一条重磅消息是,目前 Rails 的 ActiveRecord 已经完全被 JRuby 支持。剩下的最后一些不能通过的测试最终也已得到修复,所有单元测试都大亮绿灯。现在 JRuby 上已经能够安全运行使用 MySQL 的 Rails 应用程序。

InfoQ 对 JRuby 团队成员 Ola Bini 进行采访,详细了解了最新 ActiveRecord 里程碑的相关信息:

JRuby 团队从什么时候开始着手对 ActiveRecord 的支持工作?

老实说我们并没有那么做。除了在测试中寻找 bug 以外,对 ActiveRecord 本身我们什么都没动。自打去年六月,我们开始入手 ActiveRecord-JDBC 项目(下文中简称 AR-JDBC)。 这个项目是一个仅在 JRuby 中可用的 ActiveRecord 适配器,使 ActiveRecord 可以与 JDBC(标准的 Java 数据库连接框架)一起工作。这个项目是非常有意义的,因为 JRuby 不可能使用 Rails 使用的常规驱动程序。因此我们已经让 AR-JDBC 正常工作一段时间了。在发布 0.9.8 时我们就打算宣布对 Rails 的支持,不过当时还是存在一些不能通过的 Rails 单元测试;实际上这些问题绝大部分出现在 ActiveRecord(在 1100 个测试中大约出现 50-60 个错误和故障)。于是上周我决定首先为 MySQL 解决这些问题,随后 AR-JDBC 和 JRuby 就得到几处修正。正如原来声明中所说,我们非常高兴地宣布 MySQL 已经得到完全支持。

最难以实现的功能有哪些?

我认为最棘手的事情有两样:首先就是 ActiveRecord 测试。在很多地方这些测试是非常不错的,但是还有一些测试依赖于 hash 排序和另外一些更稀奇古怪的东西。这就搞得我们很难判断那到底是一个真正的故障或者只是一个实现得比较诡异的测试。其次,ActiveRecord 对来自数据库的数据、quoting 和其它方面进行了大量处理。要搞定这些并不是一件容易的事情,对于日期和时间信息尤其如此。但是,这些测试对于问题的修正非常有用。

JRuby 接下去的开发工作会是什么?

目前我们努力的方向是性能和正确性。希望能在五月的某天发布 1.0,到那是我们的目标就是更高的速度和正确性了。=) 我们所做的是修复所有发现的 bug,尝试确定 Java 整合最终将变成什么样子,此外就是 Java 字节码编译器了。所以说,五月份的时候,JRuby 就是一股不容小觑的力量了。

提一个八卦问题:你最近刚刚接受了 ThoughtWorks 的工作机会。关于你在 ThoughtWorks 里与 JRuby 相关的项目,你能不能向大家透露一些口风?

啊,这还不能说。我要到 6 月 4 日才正式入职,在那之前我只是非正式地给几个项目帮忙,但大部分还不能公之于众。我现在可以说的是,在我的 ThoughtWorks 工作正式开始以后,我将着手于 JRuby 和 Ruby 的一些很不错的事情上。

2007-04-04 20:00656
用户头像

发布了 117 篇内容, 共 14.8 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营 1 期第 9 周:性能优化(三)- 作业

piercebn

极客大学架构师训练营

JVM垃圾回收原理

A p7+

极客大学架构师训练营第五周作业

井中人

极客大学架构师训练营

架构师训练营第 9 周学习总结

netspecial

极客大学架构师训练营

第五周总结

小兵

架构师训练营第 1 期第 9 周学习总结

好吃不贵

极客大学架构师训练营

一致性哈希算法

Sandman

极客大学架构师训练营

架构师训练营 - 第九周作业

一个节点

极客大学架构师训练营

架构师训练营—第九周作业

Geek_shu1988

9.4Java代码优化技巧及原理

张荣召

9.3JVM垃圾回收性能分析

张荣召

第五周总结

孤星

我的亲历:一行代码,百万人民币打水漂

白色蜗牛

Java 程序员 架构 程序人生 职场

JVM垃圾回收原理,秒杀系统架构方案

garlic

极客大学架构师训练营

CompletableFuture让你的代码免受阻塞之苦

Silently9527

java8 CompletableFuture 多线程与高并发

数据库基本原理

天天向上

极客大学架构师训练营

week5 技术选型(一) 学习总结

杨斌

一次用户故事拆(SPIDR)法实践

Bruce Talk

Agile 用户故事 User Story

【架构师训练营】第九周作业:性能优化

MindController

秒杀系统

【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

代立冬

Apache 大数据 开源 DolphinScheduler Apache DolphinScheduler

学习总结--week09

张荣召

【架构师训练营第 1 期 09 周】 作业

Bear

极客大学架构师训练营

架构师训练营—第九周学习总结

Geek_shu1988

【架构师训练营第 1 期 09 周】 学习总结

Bear

极客大学架构师训练营

wee5 技术选型(一) 作业

杨斌

架构师训练营第5周总结

Sandman

极客大学架构师训练营

二分法求平方根,swift面向协议编程protocol从入门到精通、《格局》吴军著读后感、John 易筋 ARTS 打卡 Week 27

John(易筋)

collection ARTS 打卡计划 格局 吴军 李嘉图定律 面向协议protocol编程

架构师训练营 week5 学习总结

花果山

极客大学架构师训练营

架构训练营第五周作业

一期一会

架构师训练营 - 第九周总结

一个节点

极客大学架构师训练营

架构师训练营第九周课程笔记及心得

Airs

JRuby 1.0丰收在望_Java_Alexis Midon_InfoQ精选文章