来源:OSCHINA 时间:2023-05-15 07:28:48
Ruby 3.3.0-preview1 已发布,作为 3.3 的第一个预览版。Ruby 3.3 最重大的改动是添加了一个名为 RJIT 的新纯 Ruby JIT 编译器,使用 Lrama 作为解析器生成器,并带来许多性能改进。
Ruby 3.3.0-preview1 引入纯 Ruby JIT 编译器 RJIT 替换了 MJIT。与 MJIT 不同,RJIT在运行时不需要 C 编译器。
有关 RJIT 的详细介绍,可查看此前的报道:《Ruby 引入新 JIT 编译器 RJIT,替代 MJIT》。
(资料图)
但要注意:RJIT 仅支持 Unix 平台上的 x86_64 架构。而且目前 RJIT 仅用于实验目的。应该在生产中继续使用 YJIT。
性能改进
改进了 Splat 和 rest 参数支持。 为虚拟机的堆栈操作分配寄存器。 编译更多带有可选参数的调用。Integer#!=
,String#!=
,Kernel#block_given?
,Kernel#is_a?
,Kernel#instance_of?
,Module#===
特别优化。 编译代码的元数据使用更少的内存
改进了 ARM64 上的代码生成
可选择以暂停模式启动 YJIT,然后手动启用它:--yjit-pause
和RubyVM::YJIT.resume
。注意:只有在应用程序完成启动后,才可以使用它来启用 YJIT 。
退出跟踪选项现在支持采样:--trace-exits-sample-rate=N
多个错误修复
详情查看更新公告:https://www.ruby-lang.org/en/news/2023/05/12/ruby-3-3-0-preview1-released/
世界播报:AppCode 2022.3 发布以及停止销售和支持
快资讯:Akka 2.8.0-M2 发布,Scala 编写的 Actor 模型开发库
Google 公布 2022 年度最热门 Chrome 扩展
Thunderbird 102.6 发布,开源电子邮件客户端