Ruby 3.4正式版发布,重点优化性能和开发效率。新版本引入了“it”作为块参数的简洁引用方式,提升代码可读性。模块化垃圾回收机制增强了灵活性,而YJIT即时编译器优化则显著提升了性能,包括内存压缩和字符串处理。此外,Ruby 3.4还为套接字库带来了RFC 8305“Happy Eyeballs V2”支持,改进了网络连接效率,支持IPv6与IPv4的并行解析与连接,确保在现代网络环境中更快速可靠的连接。
✨ `it` 块参数:引入 `it` 作为不带变量名的块参数的引用方式,例如 `ary.map {it.upcase}`,相较于 `_1/_2` 等数字参数,代码更加简洁且更具可读性。
♻️ 模块化GC:Ruby 3.4 对垃圾回收机制进行模块化处理,将原先内置的垃圾回收器分拆为独立的模块文件,增强了垃圾回收的灵活性,便于后续的维护和扩展。
🚀 YJIT优化:新版本对 YJIT 即时编译器进行了多项优化,包括改进内存压缩和字符串处理能力,显著提升了 Ruby 程序的性能表现。
🌐 Happy Eyeballs V2:为套接字库带来了 RFC 8305 “Happy Eyeballs V2” 支持,通过并行尝试 IPv6 和 IPv4 连接,提升了在现代网络环境下的连接效率和可靠性。
IT之家 12 月 27 日消息,Ruby 3.4 正式版现已发布,IT之家参考更新说明获悉,该版本主要在性能和开发效率方面进行优化,引入“it”作为不带变量名的块参数的引用方式,扩展了模块化垃圾回收机制,并将默认解析器从 parse.y 改为 Prism。

官方介绍了 Ruby 3.4 引入的“it”块参数引用方式,官方使用“ary.map {it.upcase}”作为例子,声称相对现有的_1/_2 等数字参数更简洁、更具可读性。

此外,Ruby 3.4 对垃圾回收机制进行模块化处理(Modular GC),将 Ruby 原先内置的垃圾回收器分拆为独立的模块文件,从而增强灵活性。

在性能方面,Ruby 3.4 对 YJIT(即时编译器)进行了多项优化,改进了内存压缩和字符串处理能力,同时为套接字库带来了 RFC 8305“Happy Eyeballs V2”支持,号称显著提升了 Ruby 程序在现代网络环境中的连接效率,相关技术支持 IPv6 与 IPv4 的并行解析与连接,通过 250 毫秒的间隔进行并行尝试,以便于应用快速建立最佳连接,确保在各种网络环境中保证稳定可靠性。
