Ruby 3.3.0 发布首个预览版
Ruby 3.3.0-preview1 已发布,作为 3.3 的第一个预览版。Ruby 3.3 最重大的改动是添加了一个名为 RJIT 的新纯 Ruby JIT 编译器,使用 Lrama 作为解析器生成器,并带来许多性能改进。
RJIT
Ruby 3.3.0-preview1 引入纯 Ruby JIT 编译器 RJIT 替换了 MJIT。与 MJIT 不同,RJIT在运行时不需要 C 编译器。
有关 RJIT 的详细介绍,可查看此前的报道:《Ruby 引入新 JIT 编译器 RJIT,替代 MJIT》。
但要注意:RJIT 仅支持 Unix 平台上的 x86_64 架构。而且目前 RJIT 仅用于实验目的。应该在生产中继续使用 YJIT。
使用 Lrama 而不是 Bison
- 用 Lrama LALR 解析器生成器功能替换 Bison #19637
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
多个错误修复
标准库更新:
- RubyGems 3.5.0.dev
- bigdecimal 3.1.4
- bundler 2.5.0.dev
- csv 3.2.7
- fiddle 1.1.2
- fileutils 1.7.1
- irb 1.6.4
- optparse 0.4.0.pre.1
- psych 5.1.0
- reline 0.3.3
- stringio 3.0.7
- strscan 3.0.7
- syntax_suggest 1.0.4
- time 0.2.2
- timeout 0.3.2
- uri 0.12.1
详情查看更新公告:https://www.ruby-lang.org/en/news/2023/05/12/ruby-3-3-0-preview1-released/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Subtitle Edit 3.6.13 发布,字幕编辑工具
Subtitle Edit是一款针对文本格式类字幕的编辑工具,支持多种字符编码和字幕格式(Sub Station Alpha、Advanced Sub Station Alpha、SubRip、MicroDVD、MPL2、MPsub (MPlayer subtitle)、SubViewer 2.0、Plain-Text、Adobe Encore DVD)。 目前,Subtitle Edit 3.6.13 已发布,该版本更新内容如下: New 添加新的字幕格式“nVivo transcript” 添加 Whisper CTranslate2 在“Change casing”中添加“Proper Case”选项 为文本“color picker”添加快捷方式 添加快捷方式 3 seconds forward 在 UI 中添加更多 mpv 预览设置 添加 cmd convert param "/teletextonlypage:<number>" 添加使用内联 Base64 编码的 PNG 图像导出 TTML SMPTE-TT 为 WebVTT 自动合并添加新设置 Improve...
- 下一篇
Taichi(太极)v1.6.0 发布
Taichi(太极)v1.6.0现已发布。Taichi Lang 是一种开源的、命令式的、用于高性能数值计算的并行编程语言。它被嵌入到 Python 中,并使用即时编译器 (JIT) 框架,例如 LLVM,将计算密集型的 Python 代码 offload 到本地 GPU 或 CPU 指令中。 具体更新内容如下: 弃用通知 删除了一些很久以前就弃用的 API。见下表: Removed API Replace with Using atomic operations like a.atomic_add(b) ti.atomic_add(a, b) or a += b Using is and is not inside Taichi kernel and Taichi function Not supported Ndrange for loop with the number of the loop variables not equal to the dimension of the ndrange Not supported ti.ui.make_camera() ti.ui.Ca...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8安装Docker,最新的服务器搭配容器使用
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Thymeleaf,官方推荐html解决方案