Rust最新版本1.23揭秘
极客时间编辑部
讲述:丁婵大小:1.20M时长:02:37
近日,Rust 发布了最新版本 Rust 1.23。Rust 是一门由 Mozilla 开发的专注于安全性、速度和并发性的系统编程语言。
在最新版本中,内存使用率的减少是最显著的优化,这通过避免不必要的拷贝来实现。此外,rustdoc 目前使用一个兼容 CommonMark 的引擎来渲染文档。
据 Rust 团队介绍,通过避免为特定对象创建副本,rustc 的内存使用率降低了 5%-10%,不过这个数据可能会随着被编译的具体程序的不同而变化。Rustc 会强制本地变量和方法参数要完全相同,这使得 rustc 在将参数绑定给一个本地变量时,不必再创建一份这个参数的拷贝。原来,由于本地变量和方法参数在 MIR 级别的不同而引入了这种拷贝行为,现在则没有再进行这种拷贝行为的必要。
除了降低内存使用率,这种优化还通过避免同时显示本地变量和传入参数的信息,而使得调试信息更加清楚。因为同时显示这两个信息会使得调试信息变得非常混乱,尤其当本地变量绑定了一个可变的值时,调试信息会变得更加混乱,可能会出现这样一种情况:在某一个时刻,传入参数没有改变,但是调试器显示的本地变量却在变化。
另外一个有趣的变更是,rustc 提供在 LLVM 中对 TrapUnreachable 的支持,这使得 LLVM 能够将 unreachable 指令翻译成硬件陷阱。以前,控制流可以绕过 unreachable 指令,访问到内存中在这条指令之后执行的代码。现在,这个变更禁止了这一行为,可以降低 unreachable 代码的未定义行为的影响。
在文档方面,rustdoc 一直在努力完全兼容 CommonMark。在 Rust 1.23 版本中,文档用 Rust 语法渲染器 Hoedown 和兼容 CommonMark 的渲染引擎进行渲染。这种行为会保持一段时间,在渲染过程中如果有差别被发现,rustdoc 会给出警告,从而让文档维护人员修复这些差别。在将来的版本中,兼容 CommonMark 的引擎会成为默认引擎。
Rust 的包管理器 Cargo 也进行了优化,包括支持一次性卸载多个包以及支持安装某个包的特定版本。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论