写点什么

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

评论

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

GAITC 2025:曙光AI基础设施全栈亮相

科技热闻

构建精细化DevOps权限体系:从数据级管控到全局授权

嘉为蓝鲸

DevOps 智能运维

深入浅出:微店商品列表API接口Python攻略

tbapi

微店数据接口 微店API 微店商品列表接口

ArkUI-X与Android消息通信

龙儿筝

视觉效果和图像处理 Boris FX Silhouette 2025新功能详解

Rose

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

百度安全

QT软件外包开发流程

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

软件外包公司 QT软件开发 QT外包公司

嘉为蓝鲸可观测系列产品入选Gartner《中国智能IT监控与日志分析工具市场指南》

嘉为蓝鲸

Gartner 可观测

OpsPilot 智能体:打破工具孤岛、降低人为失误,优化运维流程

嘉为蓝鲸

智能运维 #WeOps OpsPilot

【每天学点‘音视频’】GOP-关键帧间隔

小曾同学.com

ffmpeg 实时音视频 GOP B帧

Prefix Caching 详解:实现 KV Cache 的跨请求高效复用

Se7en

DVD光盘刻录 Toast Titanium 17 Mac中文注册版

Rose

吉他初学者如何自学吉他?Guitar Pro如何辅助新手掌握复杂的吉他弹奏技巧

阿拉灯神丁

吉他学习 编曲软件 Guitar Pro8 Mac乐谱制作软件 乐谱软件

3D建筑建模 Vectorworks2024破解安装教程【Mac&win】

Rose

基于YOLOv8的河道垃圾塑料瓶子识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

深入研究:shopee商品详情API接口Python攻略

tbapi

shopee商品详情接口 shopee数据采集 shopee数据接口

等保测评扎心真相

等保测评

AI智能体终结运维"狼来了"

权说安全

AI 安全运维

嘉为蓝鲸WeOps:集成主流云服务商,自动化证书申请 + 一键部署全流程提速

嘉为蓝鲸

SSL证书 #WeOps 一体化运维

2025 AICon上海站

IT蜗壳-Tango

准确率从 19% 提升至 95%!文本审核模型优化的三个阶段实践(上)

亚马逊云科技 (Amazon Web Services)

一场 6 点半开启的慢跑,是我们对八周年最真实的记录

TDengine

数据库 tdengine 时序数据库

ArkUI-X与Android桥接通信之方法回调

龙儿筝

三天吃透Java并发面试八股文

Geek_Yin

编程 程序员 java面试 Java面试题

2025年金九银十最全 Java 面试八股文(真实,高频,有详细答案)

Geek_Yin

Java 程序员 java面试 Java面试题

嵌入式STM32-PID位置环和速度环

芯动大师

stm32 PID 位置环 速度环

"不是都合规了吗?怎么还翻车?

等保测评

矢量绘图设计CDR 2025 永久许可证【Mac/win】

Rose

mac吉他原生插件 Ample Sound Ample Guitar M

Rose

cinema 4d 2024-c4d中文版激活教程【Mac/win】

Rose

吃透Java基础面试八股文

Geek_Yin

Java 程序员 java面试 Java面试题

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