Ruby 引入新 JIT 编译器 RJIT,替代 MJIT
时间:2023-03-13 17:22 来源:linux.it.net.cn 作者:IT
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
其他基准测试
(责任编辑:IT)
Ruby 代码仓库近期新增了一个关于合并 RJIT 的 PR。
据介绍,RJIT 是新的 JIT 编译器,用作 MJIT 的替代实现。主要特性如下:
关于 RJIT 的更多信息,查看 [Feature #19420]。 部分性能基准测试如下: Headlining Benchmarks
MicroBenchmarks
其他基准测试
(责任编辑:IT) |