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

软件资讯 软件资讯 发布于 2年前 25 浏览 0 回复

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

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

据介绍,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

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

MicroBenchmarks

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

其他基准测试

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



为您推荐相关文章:

  • Ruby 3.3.0 发布首个预览版
  • Ruby 3.2.2 发布
  • Ruby 3.3.4 发布
  • Ruby 3.3.3 发布
  • Ruby 3.3.0 正式发布
  • 同类文章推荐:

  • VMware Workstation & Fusion 25H2 发布
  • Apache Tomcat 11.0.13 发布
  • Firefox 144.0 发布
  • Wireshark 4.6 发布,最强开源网络数据包分析器
  • FreeBSD 15.0 Beta 1 发布,优化系统性能和用户体验
  • Java 开源工具集 Hutool-5.8.41 发布,常规 bug 修复