YJIT 3.4:更快且更节省内存

主要观点:2025 年 YJIT 团队推出新的 YJIT 版本,性能更优、更稳定且更节能。
关键信息

  • 与去年相比,YJIT 3.4 在基准测试中比 3.3.6 快 5 - 7%,内存使用显著减少,有诸多改进如更好的内联、纯 Ruby 核心方法、二进制序列化、改进的类型传播、寄存器分配器、延迟帧推送等。
  • 改变了在[speed.yjit.org]上跟踪性能数字的方式,开始与上一个 Ruby 版本中的 YJIT 版本进行比较。
  • 在生产环境中,Shopify 在 BFCM 周末处理了创纪录的 115 亿美元全球销售额,其应用服务器在运行 YJIT 3.4 预发布版本时每分钟处理超过 8000 万请求,YJIT 已部署到 Shopify 的所有 StoreFront Renderer 基础设施中。
  • 2025 年 YJIT 团队正在研究其他设计决策以在未来实现更多 Ruby 性能改进。
    重要细节
  • 新增--yjit-mem-size=N命令行选项设置 YJIT 允许使用的内存开销,添加 YJIT 编译日志可通过--yjit-log启用,还改进了使用perf工具进行分析的支持。
  • YJIT 3.4 能更好地内联小的 C 和 Ruby 方法,对 Sorbet 类型注释性能有帮助,可将特定核心方法的实现切换为纯 Ruby 版本,在二进制序列化方面有改进,如添加String#setbyte等核心方法的快速路径等。
  • 性能图表显示 YJIT 3.4 在大多数基准测试中比 3.3.6 更快且使用更少内存,生产环境中 YJIT 对请求延迟有提升,p50 和 p99 数字也更好。Ruby 3.4 版本可从Ruby 发布页面下载,YJIT 团队感谢相关人员并欢迎在生产中使用 YJIT 的反馈。
阅读 8
0 条评论