写点什么

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

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

关注

评论

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

到底卡在了哪里,2023年再撒谎网慢就说不过去了

Yestodorrow

架构 可观测性 网站性能

架构5作业

梁山伯

架构实战 - 模块 7 作业

mm

架构实战营 异地多活

明道云零代码应用治理分层分级指南与量表

明道云

“天翼云杯”决赛收官!看看你pick的队伍战绩如何?

天翼云开发者社区

丢掉丑陋的 toast,会动的 toast 更有趣!

岛上码农

flutter ios 安卓 移动端开发 跨平台开发

如何减少网站卡顿的代码级别详细文章

Yestodorrow

加速数字化转型,天翼云携手央国企积蓄发展新动能

天翼云开发者社区

多活数据中心链路智能调度场景

智维数据

数据中心 DNS 智能运维 应用交付平台 可视化数据

将混沌实验内建到持续交付过程中提升系统稳定性

QE_LAB

混沌工程 混沌测试 测试技术

零代码应用搭建规范建议

明道云

mathtype有免费的吗?如下下载最新版本

茶色酒

MathType2023

MySQL:删除一张表中的前10万行数据,哪种方式效率更高?

程序员拾山

MySQL

MySQL幻读到底是什么?怎么解决?

程序员拾山

MySQL

高效学 C++|函数参数的引用传递和函数重载

TiAmo

c++ 编程语言、

重新思考边缘负载均衡

俞凡

架构 netflix 大厂实践

再获认可!天翼云荣获“行业应用实践优秀合作伙伴”授牌

天翼云开发者社区

厉害了!天翼云位列中国医疗云基础设施服务市场榜首

天翼云开发者社区

BSN祝全体技术工作者新春快乐!

BSN研习社

大数据培训课程哪家比较好

小谷哥

北京有哪些java培训中心

小谷哥

百度百舸 · AI 异构计算平台,加速自动驾驶模型迭代

百度Geek说

人工智能 自动驾驶 企业号 1 月 PK 榜

培训学习前端开发技术好吗?

小谷哥

音乐制作软件FL Studio21中文绿色版下载

茶色酒

FL Studio 21

架构实战 - 模块 8 作业

mm

消息队列 架构实战营

扪心自问,我们在用户旅程的投入有多匮乏?

Yestodorrow

数据可视化图表系列解析——雷达图

Data 探险实验室

数据分析 可视化 数据可视化 图表 可视化数据

视觉大模型训练和推理加速

百度Geek说

人工智能 深度学习 transform 企业号 1 月 PK 榜

第五周作业-微博评论高性能高可用的计算架构

不爱学习的程序猿

软件测试/测试开发丨免安装免配置环境的免费 ios 调试工具 sib 来啦

测试人

软件测试 自动化测试 测试开发 ios测试

软件测试/测试开发 | 接口测试中,请求超时该怎么办?

测试人

软件测试 自动化测试 接口测试 测试开发

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