AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

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

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

关注

评论

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

在线文本翻译能力新增14个直译模型,打造以中文为轴心语言的翻译系统

HarmonyOS SDK

索信达董事长吴辅世:忆Teradata中国创业岁月,看未来数据精神永流传

索信达控股

“数字经济新引擎”筑牢中国智造基石

Openlab_cosmoplat

开源 物联网 数字化转型 工业 制造

IoT平台云端通用数据解析脚本实践——实践类

阿里云AIoT

小程序 监控 物联网 存储 数据采集

点维文化宣布通过百度智能云接入文心一言

极客天地

顶会论文 | 阿里云视频摘要SOTA模型:用于视频摘要的多层时空网络

阿里技术

人工智能

微服务架构与小程序容器的结合:多领域应用的利器

FinFish

小程序 微服务架构 小程序容器 小程序化

混合式App开发模式下的热更新技术方案,你知道多少?

没有用户名丶

小程序容器

Chrome插件:阿里云IoT设备证书三元组转化生成二维码——实践类

阿里云AIoT

小程序 开发者 物联网 Web App开发

今天,我想去一个平行世界

阿里云CloudImagine

云计算 云渲染

数据合规可信计划暨国内首个数据合规标准发布!易观作为标准起草单位应邀参加

易观分析

数据 数字化 信息化

如何在阿里云上快速实现企业实例一键迁移——实践类

阿里云AIoT

阿里云 物联网 IoT

FLstudio2023水果编曲软件下载及中文语言切换教程

茶色酒

FLstudio2023

面试半年,总结了1000道2023年Java架构师岗面试题

小小怪下士

Java 程序员 面试 后端

IoT物联网平台20条实用手册——实践类

阿里云AIoT

监控 物联网 消息中间件 数据格式 网络性能优化

易观:商业银行持续发力趣味营销活动,助力提升手机银行用户活跃度

易观分析

数字化 经济 手机银行

志愿者招募令|来!一起Build OceanBase第一次开发者大会

OceanBase 数据库

数据库 oceanbase

重磅 | 超级自动化行业黑马九科信息再获数千万A+轮融资 ——电科信息领投,深创投索斯福跟投,老股东信天创投、青松基金追加投资

九科Ninetech

工业元宇宙:智能制造的未来形态

Openlab_cosmoplat

开源 工业 制造 区块链、 元宇宙

[译]Java web 应用和虚拟线程

followtry

Java spring 虚拟线程 loom

LeetCode题解:2363. 合并相似的物品,哈希表,详细注释

Lee Chen

JavaScript LeetCode

IoT设备模拟器小程序使用手册——实践类

阿里云AIoT

小程序 开发者 监控 物联网 传感器

LeetCode题解:2363. 合并相似的物品,双指针,详细注释

Lee Chen

JavaScript LeetCode

云原生是什么?核心概念和应用方法解析

FinFish

小程序 云原生 小程序容器 小程序化 小程序技术

分析视角下银行业数据平台架构演进及实现

酷克数据HashData

一起玩转开源数据库!OceanBase DevCon 之开源生态全景解析

OceanBase 数据库

数据库 oceanbase

2023年最佳Aspera替代方案,选择适合的Aspera替代方案

镭速

架构实战营10期-作业8

炮仗

Apache Flink 入选 2022 年“科创中国”开源创新榜

Apache Flink

大数据 flink 实时计算

云原生架构如何落地实践

Onegun

微服务 云原生 小程序容器

一文教你轻松创建数字孪生实例——实践类

阿里云AIoT

阿里云 物联网 IoT

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