内容简介:Ruby 3.1.0 Preview 1 现已发布。Ruby 3.1 合并了 YJIT,一个由 Shopify 开发的新的进程内 JIT 编译器。根据介绍,YJIT 既实现了快速的 warmup time,又在大多数软件上实现了性能改进;在 railsbench 上可达 22%,...
Ruby 3.1.0 Preview 1 现已发布。Ruby 3.1 合并了 YJIT,一个由 Shopify 开发的新的进程内 JIT 编译器。根据介绍,YJIT 既实现了快速的 warmup time,又在大多数软件上实现了性能改进;在 railsbench 上可达 22%,在 liquid-render 上可达 39%。
目前,YJIT 仍然是一个实验性的功能,因此它默认是禁用的;需要通过--yjit
命令行选项来进行启用。它目前也只限于 x86-64 平台的 macOS 和 Linux。
其他的一些版本更新内容包括有:
- 一个新的 debug.gem 调试器取代了 lib/debug.rb 标准库。debug.gem 是快速调试器实现,它提供了许多功能,如远程调试、colorful REPL、IDE (VSCode) 集成等。
- 引入了一个内置的 gem,error_highlight。它包括在回溯中 fine-grained error location。默认启用的,可通过使用命令行选项 --disable-error_highlight 来禁用。
$ ruby test.rb
test.rb:1:in `<main>': undefined method `time' for 1:Integer (NoMethodError)
1.time {}
^^^^^
Did you mean? times
- Irb 改进
- 语言方面:Hash literals 和关键字参数中的值可以省略,模式匹配中的 Pin 运算符现在采用表达式。
- 用于描述 Ruby 程序结构的 RBS 语言也进行了更新:
- 引入了 rbs collection 来管理 gems 的 RBS
- 对内置和标准库的签名的更新和添加
- 许多错误修复和性能改进
- Ruby 的静态类型分析器 TypeProf 更新:
- 实验性 IDE 支持已实现。
- 许多错误修复和性能改进。
- MJIT 性能改进
- 对于 Rails 这样的工作负载,默认的 --jit-max-cache 从 100 改为 10000。JIT 编译器不再跳过超过 1000 条指令的方法的编译。
- 为了支持 Rails 的 Zeitwerk,当启用 class events 的 TracePoint 时,JIT-ed code 不再被取消。
- One-line pattern matching,例如,
ary => [x, y, z]
,不再是试验性的。 - 多重分配评估顺序略有变化。
- 可变宽度分配:字符串(实验性)
更多详情可查看官方公告。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Windows Server 2019新版发布:新增存储合并服务
- GitLab 12.1 发布,合并 Trains 的并行执行策略
- ApiAgent v1.0.1 发布 跨域接口代理+接口合并请求
- Linux Kernel 4.19 RC 1 发布,关闭合并窗口
- Linux Kernel 4.19 RC 1 发布,关闭合并窗口
- 通用 Mapper 4.1.0 发布,大量新功能 PR 合并
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
指数型组织
萨利姆•伊斯梅尔 (Salim Ismail)、迈克尔•马隆 (Michael S. Malone)、尤里•范吉斯特 (Yuri van Geest) / 苏健 / 浙江人民出版社 / 2015-8-1 / CNY 69.90
《指数型组织》是一本指数级时代企业行动手册。作者奇点大学创始执行理事萨利姆·伊斯梅尔归纳了指数型组织的11个强大属性,并提出了建立指数型组织的12个关键步骤。通过自己创建的一套“指数商”测试题,伊斯梅尔还测量出了指数型组织世界100强。 为什么小米、海尔和阿里巴巴能进入“指数型组织世界100强”名单?“独角兽”Uber、Airbnb、谷歌等知名企业是如何指数化自己的组织的? 未......一起来看看 《指数型组织》 这本书的介绍吧!