首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ruby 引入新 JIT 编译器 RJIT,替代 MJIT

出品|开源中国

Ruby 代码仓库近期新增了一个关于合并 RJIT 的 PR。

据介绍,RJIT 是新的 JIT 编译器,用作 MJIT 的替代实现。主要特性如下:

RJIT 使用纯 Ruby 汇编程序生成原生代码

MJIT 在运行时需要 C 编译器,YJIT 在构建时需要 Rust 编译器。RJIT 不需要它们

这意味着 RJIT 的预热可能比 YJIT 慢,但仍然比 MJIT 快得多

RJIT 生成的代码看起来与 YJIT 非常相似

事实上,很多方法都是将 Rust 代码直接翻译成 Ruby

因此能够通过删除特定于 MJIT 的实现来简化 Ruby VM

如果需要,还可以在 RJIT 中为 YJIT 做一些早期实验

关于 RJIT 的更多信息,查看 [Feature #19420]

部分性能基准测试如下:

Headlining Benchmarks

MicroBenchmarks

其他基准测试

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230310A02FKW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券