2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:001178
用户头像

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

关注

评论

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

企业如何通过YashanDB实现业务数据整合

数据库砖家

企业如何优化YashanDB的查询性能?实用策略总结

数据库砖家

企业如何利用YashanDB实现高效的数据检索

数据库砖家

企业如何通过YashanDB实现数据的实时同步与备份?

数据库砖家

什么是YashanDB?深入解析企业级数据库解决方案

数据库砖家

为何YashanDB数据库是现代企业数字化转型的选择

数据库砖家

企业如何选择合适的YashanDB数据库部署策略

数据库砖家

从MPP到NewSQL:TiDB全面替代Greenplum的技术必然性

TiDB 社区干货传送门

TiDB第四届征文-业务场景实战

企业云端环境下YashanDB数据库部署实战指南

数据库砖家

携手火山引擎,顺丰科技用AI重塑供应链

新消费日报

为什么选择YashanDB作为你的数据库平台?

数据库砖家

以YashanDB为核心构建企业数字化基础设施

数据库砖家

企业如何根据业务需求调整YashanDB数据库配置

数据库砖家

企业如何通过YashanDB实现敏捷数据开发?

数据库砖家

企业在选择YashanDB数据库时应关注哪些关键指标?

数据库砖家

什么是 MPP 数据库?解锁海量数据分析的关键技术

镜舟科技

数据分析 查询优化 StarRocks 分布式计算框架 MPP数据库

为什么选择YashanDB作为您的数据存储解决方案?

数据库砖家

企业如何使用YashanDB实现数据资产最大化?

数据库砖家

企业如何有效评估YashanDB的实施效果

数据库砖家

企业如何利用YashanDB实现数据资产价值最大化

数据库砖家

为什么YashanDB数据库是大数据处理的理想选择?

数据库砖家

为什么YashanDB数据库是数据驱动企业的选择?

数据库砖家

企业如何构建基于YashanDB的数据分析系统

数据库砖家

共筑 AI 时代金融数据新基座,平凯星辰亮相中国国际金融展

TiDB 社区干货传送门

为何选择YashanDB数据库作为您的数据管理平台?

数据库砖家

为什么YashanDB适合中小企业?成本效益分析

数据库砖家

“企业级敏捷教练课程” CSP-SM认证 | 9月13-14日 · 周末班

ShineScrum

敏捷 敏捷教练 ScrumMaster认证 CSM认证 CSM认证培训

YashanDB的事务处理特性

数据库砖家

为什么选择YashanDB数据库作为您的数据解决方案

数据库砖家

企业如何利用YashanDB提升系统稳定性

数据库砖家

企业为什么选择YashanDB数据库?七大核心优势解析

数据库砖家

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