您现在的位置是:首页 > 文章详情

Ruby 将引入新 JIT 编译器:YJIT

日期:2021-10-26点击:545

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

据介绍,YJIT 是用于 Ruby 的 JIT 编译器,它采用了惰性基础块版本管理 (lazy Basic Block Versioning, LBBV) 架构。与当前的 CRuby 解释器相比,在进行实际基准测试时,YJIT 的平均速度大约提升了 23%。

Headlining Benchmarks

MicroBenchmarks

其他基准测试

Ruby 开发团队计划在 Ruby 3.1 预览版中引入 YJIT,让更多用户可以帮助他们对其进行测试,以及获得性能提升。目前 YJIT 默认处于禁用状态,需要打开--yjit选项或设置 YJIT_RUBY_ENABLE=1 进行启用。

其他问题

  • 目前仅支持 macOS 和 Linux
  • 目前仅支持 x86-64 CPU
  • 在不受支持的平台上,Ruby 使用传统的解释器
  • 没有针对生成的代码提供垃圾回收功能。超过设定的--yjit-exec-mem-size数值就会报错。开发团队称在未来几个月内会解决此问题。
  • YJIT 在运行时会使用更多内存,因为它需要分配机器代码,可通过设置--yjit-exec-mem-size的值进行调整

此外,YJIT 不能与 MJIT 同时启用。虽然两者都可以编译成 Ruby,但只有一个可以在运行时处于活动状态。

点此查看关于 YJIT 的更多技术细节

原文链接:https://www.oschina.net/news/165861/ruby-yjit
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章