QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

5分钟速读之Rust权威指南(十二)

wzx

rust

网络攻防学习笔记 Day28

穿过生命散发芬芳

5月日更 网络攻防

2021北京人工智能展览会-转述

容光

专家谈 AI:2021 年人工智能发展趋势(下)

容光

极光开发者周刊【No.0528】

极光JIGUANG

程序员 开发者 开发者工具

AI、智能健康与货币技术迎来大爆炸

容光

区块链 AI

技术栈,我该拿你怎么简化?

VoltDB

数据分析 5G 堆栈 边缘计算

2021智能制造、智慧金融、智能安全有何发展趋势

容光

AI 金融

智能IP先锋:从园区网络智能变革,到数字化转型新突破

脑极体

人生算法:找到可复制的最小内核

石云升

读书笔记 5月日更 人生算法

智慧金融发展-转述

容光

2021年CES十款智能家居黑科技产品

容光

人工智能

运营管理

Qien Z.

5月日更

数智化社会供应链助力消费体验提升 京东图书千万好书“先5折再满减”

科技范儿

想要成为架构师?你只要满足这些条件就可以

华为云开发者联盟

设计 工程师 架构师 软件系统 软件架构师

🔎【Java 源码探索】深入浅出的分析ThreadLocal

码界西柚

Java 多线程 ThreadLocal 5月日更 ThreadLocalMap

技术管理课学习笔记 01

escray

学习 极客时间 5月日更

【Flutter 专题】125 图解自传 ACE_ICON.ttf 图标库

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

dubbo-go v3 版本 go module 踩坑记

apache/dubbo-go

Apache dubbo dubbo-go

python脚本编写——自动剪切移动文件夹

YUKI0506

全国首创“区块链+信用”平台即将上线

CECBC

日志收集组件—Flume、Logstash、Filebeat对比

数据社

大数据 5月日更

Go 并发编程-channel 连接一切

Rayjun

Go 语言

《看板方法官方指南》中文版发布了!

Bruce Talk

敏捷 Kanban Agile

盘点golang中的开发神器

捉虫大师

Go 语言

虚拟机如何实现synchronized

wzh

虚拟机 并发 synchronized Java EE

发展农村数字普惠金融的问题及对策分析

CECBC

区块链与数字化转型的关系

CECBC

Golang最细节篇— struct{} 空结构体究竟是啥?

奇伢云存储

云存储 Go 语言

【得物技术】得物App分发平台的探索建设历程

得物技术

效率 平台 实践 心路历程 迭代

从 Object.assign 开始了解ES2015

devpoint

浅拷贝和深拷贝 ECMAScript 6 assign

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