乐趣区

关于ruby:Ruby-将引入新-JIT-编译器YJIT平均速度提升-23

近日,Ruby 代码仓库新增了一个对于合并 YJIT 的 PR。

据介绍,YJIT 是一种应用 Lazy Basic Block Versioning (LBBV) 编译器架构构建的即时编译器。

在进行理论基准测试时,YJIT 比以后的 CRuby 解释器平均速度晋升了 23%。

Ruby 开发团队打算将 YJIT 蕴含在 Ruby 3.1 预览版中,以便更多用户能够帮忙他们对其进行测试,从而取得性能晋升。

目前 YJIT 默认处于禁用状态,须要关上 --yjit 选项或设置 YJIT\_RUBY\_ENABLE=1 进行启用。须要留神的是,YJIT 临时只反对 macOS 和 Linux 零碎和 x86-64 CPU 架构。

其余问题

  • 在不受反对的平台上,Ruby 应用传统的解释器
  • 生成的代码没有垃圾收集性能。超过设定的 --yjit-exec-mem-size 数值就会报错。开发团队称在将来几个月内会解决此问题。
  • YJIT 在运行时会应用更多内存,因为它须要调配机器代码,可通过设置 --yjit-exec-mem-size 的值进行调整
  • YJIT 不能与 MJIT 同时启用,两者中只有一个能够在运行时处于活动状态。
退出移动版