【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

Rubinius 2.0 发布,实现了 Ruby 2.1

  • 2013-10-14
  • 本文字数:1224 字

    阅读完需:约 4 分钟

Rubinius 团队刚刚宣布, Rubinius 2.0 发布。Rubinius 的上一个版本(1.2.4)已经发布两年多了,支持 Ruby 1.8.7。其后,Ruby 1.8 被弃用,Ruby 开发人员强烈要求从 1.9 升级到 2.0。

按照计划,Rubinius 2.0 完全支持即将到来的 Ruby 2.1,其发行公告中有如下说明:

在 2.0 中,Rubinius 重新恢复了对 Ruby 未来版本的重点支持。Rubinius 2.0 预期兼容 Ruby 2.1。而 MRI 尚未发布 Ruby 2.1,Rubinius 只能随其更多特性的最终完成而不断改善自身的兼容性。

从今往后,Rubinius 的版本发布周期将大大缩短。新版本计划每周发布一次:

我们转而采用这一发布过程是为了把更新尽快地传递到开发人员手中。不管我们做了多少工作,总有更多的工作要做。一个新版本看上去似乎永远不会完成。每个版本都要经历痛苦的纠正过程。因此,我们遵从了下面的建议,“如果某件事是痛苦的,那么把它推到前面,并通过工作来减少疼痛。” Rubinius 2.0 对 Ruby 2.1 的兼容可能会有 Bug。[……]

我们的目标是,从 3.0 开始构建 Rubinius 内核的语义版本。在从 2.x 向 3.0 过渡的过程中,在引入破坏性更改时,我们会非常小心,但如果那样做的好处超过风险,我们就会去做。

Rubinius 2.0 在多线程支持方面取得了很大的进展。它带来了一个虚拟机,用于运行由编译器生成的字节码。它还实现了一个即时(JIT)编译器,以获得更快的速度(目前速度提升了 2 到 4 倍,但他们希望进一步提高)。因为 Rubinius 不受全局解释器锁(GIL)的限制,而且实现了原生线程,所以 Ruby 代码能够利用多个内核和 CPU。这也有利于垃圾收集器,它可以部分地运行,而且可以与正在执行的代码并行。关于这一点,Rubinius 的 Brian Shirai 在接受Jesse Storimer 采访时详细描述了更多的细节。

InfoQ 获得了与 Brian 谈论这一新版本的机会。Rubinius 2.0 承诺兼容 Ruby 2.1,而后者尚未最终完成。你们已经实现了 Ruby 2.1 的哪些内容?

我们正设法跟踪 MRI 为推出 MRI 2.1 所进行的开发工作。MRI 团队已经多次承诺,Rubinius 2.0 本质上向后兼容 2.0 和 2.1。我们大量翻阅了 2.0 的规范,从中基本上可以看出,与 1.9 相比,2.0 的行为没有发生很大的改变,但也有若干行为发生了变化的情况。

简而言之,我们打算在 2.1 发布的时候尽可能多地支持 2.1。在此期间,如果有严重的冲突,我们将继续 2.0 的行为,直到 2.1 发布。

InfoQ:Rubinius 2.0 支持 Windows 吗?

Windows 肯定在我们想要支持的清单上。但是,我们需要先看看,如果有人迫切需要这种支持,我们才会对此投入稀缺的资源。

InfoQ:现有应用程序和框架可以很好地与 Rubinius 一起工作吗?例如,Rails 4 能够运行在 Rubinius 上吗?

关于 Rails 4,有一句广为人知的话,它“喜欢”Ruby 2.0。我们预计 Rails 4 能够在 Rubinius 上运行。如果不能,那很可能是 Rubinius 的 Bug(但也可能是 Rails 的 Bug)。

Rubinius 2.0 可以从 rubini.us 上下载。我们很乐意听到开发人员的使用体验!

查看英文原文:**** Rubinius 2.0 Release Implements Ruby 2.1

2013-10-14 08:451724
用户头像

发布了 256 篇内容, 共 81.7 次阅读, 收获喜欢 11 次。

关注

评论

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

CleanMyMac4.20专业的mac清理软件

茶色酒

CleanMyMac4.20

支付宝小程序-MQTT模拟器体验阿里云IoT开发——设备接入类

阿里云AIoT

物联网

虎牙SRE谈可观测:如何做到比用户和老板更早发现业务异常?

TakinTalks稳定性社区

SpringBoot项目就连创建目录都让人抓狂

做梦都在改BUG

Java Spring Boot 框架

ElasticSearch必知必会-Reindex重建索引

京东科技开发者

elasticsearch 索引 ES 集群 企业号 3 月 PK 榜

面面俱到!四面阿里拿offer后,才发现师哥给的面试笔记有多强大

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

喜讯|百度入选“移动互联网APP产品安全漏洞治理”优秀案例

百度安全

中国流程挖掘迎来新“启点”,望繁信科技全面升级

ToB行业头条

Spring源码解析-Spring AOP

Java你猿哥

Java 源码 云原生 Spring Boot ssm

Last Week in Milvus

Zilliz

Milvus Zilliz 向量数据库

K8S部署应用详解

tiandizhiguai

国产操作系统应用开发的趋势与挑战

没有用户名丶

Spring源码解析-Spring 事务

Java你猿哥

Java spring Spring Boot ssm spring 源码

Mac教程:如何开启任何来源选项

魔仙苹果mac堡

Mac 苹果电脑 任何来源

解决 Parallels Desktop 虚拟机不能连网的问题

魔仙苹果mac堡

Parallels Desktop 虚拟机 PD虚拟机不能联网 PD常见问题

通过Flutter实现一个能在多端运行的扫雷游戏

编程的平行世界

flutter 前端 游戏 移动端 扫雷

设备使用HTTPS协议接入IoT物联网平台——设备接入类

阿里云AIoT

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

程序员小毕

Java 程序员 面试 后端 架构师

订阅标识符与订阅选项--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 订阅 企业号 3 月 PK 榜

跨平台开发成为移动应用程序开发趋势

没有用户名丶

「危险」的ChatGPT,聊天机器人式越狱,带来的法律挑战

这我可不懂

低代码平台 ChatGPT JNPF

如何在 macOS 中互换 Control 和 Command 键

魔仙苹果mac堡

mac教程 Control键 Command 键

使用抓包工具Wireshark分析IoT设备网络行为——设备管理运维类

阿里云AIoT

网络协议 物联网 网络性能优化

国家中心城市手机银行发展洞察

易观分析

金融 经济 手机银行 城市

业务系统故障率居高不下:有哪些非常有效的治理大招?

TakinTalks稳定性社区

图片无损放大:Topaz Gigapixel AI 激活版

真大的脸盆

Mac Mac 软件 图片无损放大 图片编辑 图片放大

利用 ModelScope 社区开源模型,实现低资源场景下的零样本文本分类

阿里技术

深度学习 自然语言模型

亿级用户中心的设计与实践

做梦都在改BUG

Java 服务架构 亿级流量 用户中心

OPPO、京东云 loT 项目数据架构改造,数据处理痛点这样破解

TDengine

tdengine 数据架构 时序数据库 用户案例 loT

业务架构那点事(2)如何通过高层访谈获取企业战略信息?

涛哥 数字产品和业务架构

业务架构 访谈

你值得拥有的IoT 物联网平台开发实用技巧(一)——数据价值类

阿里云AIoT

Rubinius 2.0发布,实现了Ruby 2.1_Ruby_Mirko Stocker_InfoQ精选文章