Ruby4.0发布
专栏:web开发笔记 Dec. 29, 2025, 6:56 p.m. 5 阅读
2025年12月25日,Ruby4.0发布

2025年12月25日,Ruby4.0发布。

Ruby4.0新加入了“Ruby Box”和“ZJIT”以及其它很多改进。

Ruby Box

Ruby Box是一个新的(实验性)功能,用于在定义之间提供隔离。当指定环境变量 RUBY_BOX=1 时,会启用Ruby Box。对应的类是 Ruby::Box

加载到box中的定义在box内是隔离的。Ruby Box可以隔离/分离monkey补丁、全局/类变量的更改、类/模块定义,以及已加载的本地/Ruby库与其他 box的相互影响。

预期的使用场景包括:

  • 在box中运行测试用例,以在测试用例使用猴子补丁覆盖某些内容时保护其他测试不受影响

  • 在Ruby进程中并行运行web应用box,以在应用服务器上执行蓝绿部署

  • 并行运行web应用box,通过使用Ruby代码检查响应差异,在一定时间内评估依赖更新

  • 作为实现某种“包”(高层)API 的基础(低层)API(尚未设计)

ZJIT

ZJIT是一个新的即时编译器(JIT),是YJIT 的下一代版本。要使用ZJIT支持构建Ruby,你需要Rust 1.85.0或更高版本,并且当指定 --zjit 时,ZJIT才会启用。

我们正在为Ruby构建一个新的编译器,因为我们希望既提高性能上限(更大的编译单元和 SSA IR),又鼓励更多外部贡献(通过成为一个更传统的方法编译器)。

ZJIT比解释器快,但还没有YJIT快。我们鼓励你尝试ZJIT,但目前可能先不要在生产环境中部署。敬请期待 Ruby 4.1 ZJIT。

详见官方网站:https://www.ruby-lang.org

感谢阅读,更多文章点击这里:【专栏:web开发笔记】
最新20篇 开设专栏