AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

评论

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

技术干货|Altair HyperWorks 二次开发与 Python 重构仿真新体验

Altair RapidMiner

Python 重构 开发语言 前处理软件

音视频互动APP的成本

北京木奇移动技术有限公司

音视频开发 软件外包公司 音视频APP

人工智能丨DeepSeek-V3:推理速度飙升,开源模型新王者诞生!

测试人

人工智能 软件测试

Three-Body Technology Lost Soul for mac(三体洞箫软件音源) 激活版

Rose

Type Fu for Mac(打字练习)v4.8.0激活版

Rose

交互式产品原型设计工具 Axure RP 9 mac中文破解版 含永久密钥

Rose

AI驱动软件研发:从辅助到深度协同

思码逸研发效能

人工智能 研发效能 AIGC 思码逸

Flink CDC 在阿里云 DataWorks 数据集成入湖场景的应用实践

阿里云大数据AI技术

大数据 阿里云 数据集成 Dataworks FFA

PlistEdit Pro for Mac(Plist编辑器)v1.9.7直装版

Rose

综合治理系统(源码+文档+部署+讲解)

深圳亥时科技

Numa初识

天翼云开发者社区

服务器 构架 NUMA

Volcano v1.11 重磅发布!开启AI与大数据的云原生调度新纪元

华为云原生团队

云计算 开源 容器 云原生

谷歌访问助手(谷歌浏览器插件)Mac版

Rose

探索生成式AI与低代码结合的无限可能

天津汇柏科技有限公司

低代码 生成式AI

提示词工程的十大认知误区

阿里技术

提示词

阿里云 EMR Serverless Spark 在微财机器学习场景下的应用

阿里云大数据AI技术

大数据 数据采集 分布式训练 EMR

火山引擎数据飞轮2.0助力中信银行,用“AI”开启新年新气象

字节跳动数据平台

华为Mate 70的麒麟9020芯片是谁生产的?

博文视点Broadview

未来技术路线选择:低代码开发还是传统开发?

秃头小帅oi

2024年最受欢迎的5个Go框架

王中阳Go

后端 go框架

DeepSeek 爆火全球,昇腾让DeepSeek上线加速

极客天地

音视频互动APP的技术难点

北京木奇移动技术有限公司

音视频开发 软件外包公司 音视频APP

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