QCon北京开幕在即|与全球 140+ 顶尖工程师共同解构 AI 时代的技术浪潮 了解详情
写点什么

JRuby 9K 产品就绪

  • 2013-09-27
  • 本文字数:836 字

    阅读完需:约 3 分钟

作为 JRuby 的开发负责人之一,Charles Nutter 在 Baruco 会议上发表演讲的时候宣布将于 2014 年(第二季度或者晚些时候)发布版本 9000(9K)。新版本的目标是实现和 Ruby MRI 2.0 (也可能是 2.1 )同样的功能集合。Charles 还深入剖析了基于 Java 虚拟机 (JVM) 实现 Ruby 的动机,并且还构建了在产品中使用 JRuby 9K 的案例。

JRuby 9K 将仅能在 Java 7 上运行,同时开发团队(由 Red Hat 提供部分支持)希望将它的功能路线图与 Ruby MRI 的路线图对齐。这个不寻常的版本名称产生的原因是,开发团队意识到下一个 JRuby 的自然版本将会是 1.8 或者 2.0,因此它们决定使用 9000 以避免与 Ruby MRI 的版本冲突。

据 Charles 所言,对齐功能并且在垃圾收集和性能等领域利用 JVM 的革新将有助于 JRuby 9K 在产品系统中成为强有力的竞争者。Charles 的基准数据显示,运行在 Java 7 上的 JRuby 在响应时间方面略优于 Ruby MRI 1.8,但是当内存使用上升到 200MB 的时候,它的垃圾收集时间远远优于 Ruby MRI 2.0。下面的图表显示了 Charles 的另一个基准数据,在多个 Ruby 版本上运行一个红黑树算法实现的结果:

JRuby 和 MRI 之间存在区别的另一个热门话题是:前者使用多核支持先进的并发性。Charles 推荐使用 JRuby 测试真实的多线程执行,但是他也警告说 Ruby 生态系统依然需要更成熟的工具去支持它们。虽然已有的类库(例如 thread_safe Hamster atomic 或者 jo )已经能够极大的帮助开发者避免线程池和协调(coordination)、对核心结构的并行读 / 写以及常见的非原子更新等不安全的操作:

复制代码
@count += 1
@cache ||= MyCache.new

Charles 提到,基于 JVM 构建的其他好处是它的可移植性和可用性(哪怕是在严密控制开发环境的组织中),还有 Java、Scala 或者 Clojure 这些语言的类库生态系统,开发者可以在 JRuby 中直接调用这些类库。

Vicent Martí Chris Kelly 等其他的 Baruco 讲师则认为 JRuby 可以作为 MRI 和 Rubinius 的一种替代方案,并鼓励参会者参与到他们的开发中。

查看英文原文 JRuby 9K Production Ready

2013-09-27 06:411648
用户头像

发布了 321 篇内容, 共 123.8 次阅读, 收获喜欢 19 次。

关注

评论

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

MPLS基础知识概述

穿过生命散发芬芳

MPLS 7月月更

客户案例 | 聚焦流程体验,助银行企业APP迭代

易观分析

银行 客户 银行app

中天钢铁在 GPS、 AIS 调度中使用 TDengine

TDengine

数据库 tdengine 时序数据库

《TiDB 6.x in Action》发布,凝聚社区集体智慧的 6.x 实践汇总!

TiDB 社区干货传送门

数据库 分布式数据库 TiDB

Docker 安装 Minio 搭建属于自己的文件服务器

宁在春

Docker Minio 7月月更

在灯塔工厂点亮5G,宁德时代抢先探路中国智造

脑极体

关于 StatefulWidget,你不得不知道的原理和要点!

岛上码农

flutter ios 前端 安卓开发 签约计划第三季

B站713事故后的多活容灾建设|TakinTalks大咖分享

TakinTalks稳定性社区

故障 稳定性保障

【刷题记录】22. 括号生成

WangNing

7月月更

SpringBoot应用使用Docker实现远程部署(保姆教程)

技术小生

Docker 7月月更

聊聊css中文字的换行问题

南极一块修炼千年的大冰块

7月月更

提前批到底影不影响正式批?

KEY.L

7月月更

车联网的数据安全该怎么保护

Geek_99967b

小程序 物联网

模块8(消息队列存储消息数据的mysql表格)

Geek_701557

Plato Farm有望通过Elephant Swap,进一步向外拓展生态

鳄鱼视界

Mybatis中LRU缓存实现

Geek漫游指南

mybatis LRU mybatis源码

知识管理系统是什么?你需要知道这些

Geek_da0866

企业内部信息碎片化该怎么办?不妨试试这样做

Baklib

OPPO 自研大规模知识图谱及其在数智工程中的应用

NebulaGraph

知识图谱 NebulaGraph

企业数字化转型成大趋势,选对在线协作工具很重要

Baklib

阿里云消息队列 Kafka-消息检索实践

阿里巴巴云原生

kafka 阿里云 云原生 检索 消息

人工智能助力复工复产,模版 OCR 轻松搞定健康码识别

亚马逊云科技 (Amazon Web Services)

人工智能 Lambda

参数解析与跳石板

未见花闻

7月月更

如何在github的pages部署hexo实现代码提交到仓库自动部署

娃娃菜

GitHub Pages 签约计划第三季

唠唠python的作用域,看看每个变量都为自己打下了多少江山

迷彩

Python 函数 作用域 7月月更

Web3.0 时代,基于P2PDB实现一款Dapp的技术理论

Rock-李益

dapp 去中心化 去中心化数据库 p2pdb

客户案例|生学教育依托观测云打造可观测智慧教育新生态

观测云

第五届数字中国奖项出炉,昇腾人工智能融合赋能平台斩获十佳首展成果奖

极客天地

发评测赢好礼 | Serverless 函数计算征集令

阿里巴巴云原生

阿里云 Serverless 云原生

低代码工具有哪些特色?明眼人都能看出来的低代码两大发展轨迹!

优秀

低代码 低代码平台

ES6 类聊 JavaScript 设计模式之行为型(一)

devpoint

JavaScript 设计模式 ECMAScript 6 7月月更

JRuby 9K 产品就绪_Ruby_Manuel Pais_InfoQ精选文章