速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Rust 最新版本 1.23 揭秘

  • 2018-01-15
  • 本文字数:945 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

内存使用率的减少是 Rust 最新版本中最显著的优化,这通过避免不必要的拷贝来实现。此外,rustdoc目前使用一个兼容 CommonMark 的引擎来渲染文档。

据 Rust 团队称,通过避免为特定对象创建副本,rustc内存使用率降低了 5-10%,尽管这个数据可能随着被编译的具体程序而变化。rustc目前强制本地变量和方法参数要完全相同。这可以在 rustc将参数绑定给一个本地变量时不必再创建一份这个参数的拷贝。这个拷贝行为是原来就存在的因为本地变量和参数在 MIR 级别的不同而需要进行的遗留处理行为,并在某个时间点被移除。除了优化内存使用率,这种优化还可以通过避免同时显示本地变量和传入参数的信息而使得调试信息更加清楚。当本地变量绑定了一个可变的值时,调试信息会变得更加混乱,因为在参数没有改变的同时调试器可能会显示本地变量在变化。

另外一个有趣的变更是,rustc提供在 LLVM 中对 TrapUnreachable 的支持,这使得 LLVM 将 unreachable 指令翻译成硬件陷阱。以前,控制流可以绕过无法到达的指令,访问到内存中在这条指令之后执行的代码。现在,这个变更可以降低 unreachable 代码的未定义行为的影响。

在文档方面,rustdoc一直努力完全兼容 CommonMark。在 Rust 1.23 版本中,文档用 Rust 语法渲染器—— Hoedown 和兼容 CommonMark 的渲染引擎进行渲染。这种行为会保持一段时间,在渲染过程中如果有差别被发现,rustdoc会给出警告,从而让文档维护人员修复这些差别。在将来的版本中,兼容 CommonMark 的引擎会成为默认引擎。

Rust 1.23 版本还增强了一些库的稳定性,包括增加对原始类型的AsciiExt trait 。这意味着,u8、char 和str 不用导入 AsciiExt` trait 就可以使用它的任何方法。

Rust 的包管理器——Cargo,也进行了优化,包括支持一次性卸载多个包以及用cargo install --version 来安装某个包的特定版本

Rust 1.23 包含了许多变更和优化,可以通过运行rustup update stable 来更新。

查看英文原文: Rust 1.23 Improves Memory Usage and More


感谢罗远航对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-01-15 18:001742

评论

发布
暂无评论
发现更多内容

Ajax 使用ajax加上get和post方法,通过后台加载数据,并在网页上进行显示

爱好编程进阶

Java 程序员 后端开发

开源字节系统白皮书

源字节1号

软件开发

2020字节跳动秋招技术面试题:Kafka+反射

爱好编程进阶

Java 程序员 后端开发

2021-11-27【算法竞赛入门到进阶】

爱好编程进阶

程序员 后端开发

Git进阶系列 | 4. 合并冲突

俞凡

git 最佳实践

互联网跨界造芯的“菊与刀”

IC男奋斗史

芯片 芯片行业思考

1篇文章全面总结2020年Java面试知识,掌握这些你也能进大厂!

爱好编程进阶

程序员 后端开发

2021-03-26【PTA】

爱好编程进阶

程序员 后端开发

2021-3-20 【推箱子】

爱好编程进阶

Java 程序员 后端开发

TypeScript 变量声明

Emperor_LawD

typescript 基础 5月月更

超级原始人系列盲盒即将上线,PlatoFarm赋能超多权益

西柚子

如何登录到你的 WordPress 管理仪表板

海拥(haiyong.site)

5月月更

90后表示已经躺平,我就静静的看着你们00后卷

爱好编程进阶

Java 程序员 后端开发

2021-3-29 【PTA】

爱好编程进阶

Java 程序员 后端开发

2021秋招运维工程师岗位常考的知识点

爱好编程进阶

Java 程序员 后端开发

30道经典的Java基础面试题集锦

爱好编程进阶

程序员 后端开发

7-1 银行家算法--安全性检查 (20 分)(思路+详解+知识分析)宝 你今天 AC了吗

爱好编程进阶

Java 程序员 后端开发

《数据中心白皮书 2022》揭秘“东数西算”下数据中心高性能计算的六大趋势八大技术

GPU算力

Git进阶系列 | 6. 交互式Rebase

俞凡

git 最佳实践

3年CRUD程序员3个月啃完这份524页PDF成功涨9k!

爱好编程进阶

Java 程序员 后端开发

13W字!银四巨作:Java进阶架构师核心手册

爱好编程进阶

Java 程序员 后端开发

Git进阶系列 | 5. Rebase vs Merge

俞凡

git 最佳实践

毕业设计-设计电商秒杀系统

默光

秒杀架构设计 架构训练营5期

用户体验思维 7 大陷阱

龙国富

产品设计 UI UX 用户体验 产品设计与思考

2021年学习Java还有意义吗?

爱好编程进阶

Java 程序员 后端开发

130道BATJM真题及解析:集合+Spring

爱好编程进阶

Java 程序员 后端开发

28天面试突击:JVM+Redis

爱好编程进阶

程序员 后端开发

30分钟掌握沧湖一体化:flink+hudi

爱好编程进阶

程序员 后端开发

centos7

爱好编程进阶

Java 程序员 后端开发

使用MyBatis-Plus代码生成器(数据库MySQL/Sqlite

芝士味的椒盐

Java mybatis 5月月更

都2022了,不会还有人不会idea注释相关的配置吧,速进本文

芝士味的椒盐

Java IDEA 5月月更

Rust最新版本1.23揭秘_语言 & 开发_Sergio De Simone_InfoQ精选文章