## ZJIT:一个新的 Ruby JIT 编译器
ZJIT 是一个为 Ruby 设计的即时编译 (JIT) 编译器,由 YJIT 团队构建并集成到 Ruby 核心实现 (YARV) 中。ZJIT 的设计目标是提升性能并鼓励社区贡献。它现在已编译到 Ruby 4.0 中,但默认禁用 – 使用 `--zjit` 或 `RUBY_ZJIT_ENABLE` 启用它。
虽然目前速度比 YJIT 慢,但自首次发布以来已经取得了显著进展。关键改进包括能够“侧退出”到解释器,处理更复杂的代码(通过完整的 Ruby 测试套件和大型应用程序测试),以及优化更多的 Ruby 操作,例如方法调用和变量访问。
最近的工作重点是优化特定指令(例如 `invokeblock` 和 `setinstancevariable`),处理多态方法调用,以及改进寄存器分配器。该团队还在努力减少对 Ruby 运行时进行基本操作的依赖。
ZJIT 仍在积极开发中,可能会遇到崩溃或性能问题。鼓励通过 Ruby issue tracker 或 GitHub 进行测试和反馈。该团队欢迎社区贡献,并已建立了一个聊天室供讨论。