Ruby 3.3的YJIT:更快同时使用更少的记忆|大规模使用Rails

- Ruby 3.3的YJIT相比Ruby 3.2的YJIT有显著改进,提供更好的性能、更快的启动时间和减少的内存使用。 - YJIT 3.3包括更好的JIT覆盖率、核心方法调用的内联原语和新的寄存器分配器等优化。 - 通过改进元数据大小和实施“冷阈值”启发式算法,努力减少YJIT的内存使用。 - YJIT 3.3具有更好的默认值,并且可以在运行时从Ruby代码中启用。 - 性能基准测试显示,YJIT 3.3在渲染liquid模板、Railsbench和Ruby LSP等方面提供了显著的性能提升。 - 内存使用基准测试表明,与YJIT 3.2相比,YJIT 3.3的内存开销减少了。 - YJIT已成功部署在Shopify的StoreFront Renderer基础设施中,提供了一致的性能改进。 - 即使在最慢的请求上,YJIT 3.3比CRuby 3.3解释器更快,并且在内存与性能之间有良好的平衡。 - YJIT 3.3在optcarrot基准测试中实现了比CRuby 3.3解释器快3.3倍以上的性能。 - 带有YJIT的Ruby 3.3.0版本将于12月25日发布,性能、内存使用和启动时间都有显著改进。

评论