【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:001629

评论

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

【业务架构训练营】模块一作业

汪大侠

U比生活平台

飞亚科技

智慧党建平台搭建,党建系统开发

浅谈网络性能管理智能化方案和实践

鲸品堂

AI 技术 AIOPS

Bee币蜜蜂网链是什么?

飞亚科技

# 模块1作业

灯火阑珊

常垒资本石矛:寻找ToB投资中的「非共识」

ToB行业头条

SaaS tob

阿里P9力荐Spring Boot学习笔记,一步一步学习Spring Boot,学到的不单单是基础

Java架构师迁哥

【架构实战营】模块1作业

毛国庆

架构实战营

爬虫知识点汇总

小小咸鱼ywy

大数据 爬虫 破解 抓包 逆向

MySQL-技术专题-MVCC机制介绍

洛神灬殇

MySQL 事务隔离级别 Isolation ReadView

模块一:课后作业

冷酷小绵羊

1TB每日仅需6元!USnap磁盘快照服务全新上线,精确到秒级恢复

UCloud技术

快照 备份

MemVerge使得大内存应用在 Ice Lake CPU上如虎添翼

Steven Xu

redis 内存 高性能 持久化存储 kvm

python实现AES/DES/RSA/MD5/SM2/SM4/3DES加密算法模板汇总

小小咸鱼ywy

Python 加密 rsa AES

11

三年过后

架构实战营

基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台

阿里巴巴云原生

Java 云原生 监控 存储 消息中间件

c语言思维地基搭建(c语言介绍)

-jf.

学习 大学作业 4月日更

带你全面认识CMMI V2.0(五)——改进

IPD产品研发管理

项目管理 管理 软件 CMMI

在小公司“混”了两年,我只认真做了五件事,如今顺利拿到天猫Offer,迈上人生的新台阶!

Java架构追梦

Java 面试 天猫Offer 成长路线图

MemVerge 和百奥智汇用大内存技术加速癌症和新冠病毒的研究

Steven Xu

内存 高性能 持久化存储 I/O

Redis 学习资料

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

架构师训练营-模块1课程作业

歲月鎏金😈

别再面向 for 循环编程了,Spring 自带的观察者模式就很香!

Java架构师迁哥

保护云管理控制台的5个最佳实践

龙归科技

云计算 安全 风险管理

线程池 图解

线程池

爽爆了!凭借阿里这份笔记,仅仅两星期就拿到了8个大厂offer!

Java架构师迁哥

都1202年了,阿里五岳版的《Java开发手册》你还没拜读过?

Java架构师迁哥

【业务架构训练营】模块一作业

U2R2otkit

test

大肚皮狒狒

聪明人的训练(七)

Changing Lin

4月日更

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