【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Rust 1.10,对引导、Panic 处理及更多特性的改进

  • 2016-07-14
  • 本文字数:986 字

    阅读完需:约 3 分钟

发布的Rust 1.10 引入了新的、旨在对开源版本更友好的引导方法。此外,该版本中添加的新特性还包括:用于panic 处理的构建选项,可提升编译器性能并降低生成二进制文件的大小;一种新的共享库格式;以及其它的一些性能改进。

Rust 引导方法,就是使用 Rust 编译器去编译其自身的方法。对于 Rust 1.10 版本,Rust 引导方法得到了更新,使得其不同于以往版本那样存在对一些不稳定 Rust 特性的依赖。使用不稳定特性的最大缺点在于,其中必定使用了某个特定的 Rust 编译器夜间版,这对于 Linux 发行版而言是不太理想的做法。事实上,许多 Linux 发行版在构建它们的软件包时,更愿意仅仅使用过往的打包版本,而非使用不可信的二进制版本文件。由此改进引发的一个结果是,现在 Rust 1.10 可从 Rust 1.9 版本编译而来。将来,Rust 的任何新版本将由当前的稳定版本所构建。例如,Rust 1.11 可构建自 Rust 1.10。

上文提及 Rust 1.10 引入了一个新的构建选项,该选项允许开发人员定义Rust 的panic!行为。默认情况下,panic!将触发堆栈解退,这对于编译器的性能和生成的二进制文件的大小引入了一些开销。虽然对于一些应用而言,异常终止也是处理异常问题的一个合理方法,但是为使Rust 程序退出而非堆栈解退,现在开发人员可以指定命令行选项-C panic=abort,或者在配置文件Cargo.toml 中添加panic=abort,这将为生成二进制文件的大小和编译时间带来10% 的改进。

此外,Rust 1.10 的新特性还包括 cdylib 打包类型,主要用可嵌入其它语言的库。dylib 作为现有的库格式,依然是 Rust 项目中首选的库格式。cdylib 与 dylib 主要不同之处在于:

  • cdylib 用于静态链接;
  • cdylib 中包含了元数据;
  • 类似于可执行文件,在 cdylib 库中可访问的外部函数是可见的标识;
  • cdylib 可使用 -C 编译选项,指定链接时优化

此外,Rust 1.10 还带来了若干性能改进,包括:

Rust 1.10 还包括了更多本文中所未提及的改进,可参阅其发行备注

查看英文原文: Rust 1.10 Improves Bootstrapping, Panic Handling, and More


感谢张龙对本文的审校。

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

2016-07-14 19:001577
用户头像

发布了 227 篇内容, 共 71.5 次阅读, 收获喜欢 27 次。

关注

评论

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

架构师训练营4周总结

Hanson

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

程序员生活志

Python 程序员 代码 二维码

Lambda初次使用很慢?从JIT到类加载再到实现原理

Kerwin

Java Lambda 类加载 JIT

架构师训练营第四周总结

一剑

瑞幸商业模式的本质与组合式创新

石云升

创业 瑞幸 组合式创新

扯淡 Spring BeanDefinition

CoderLi

Java spring 程序员 源码分析

给“小白”漫画+图示讲解MyBatis原理,就问香不香!

码农神说

Java mybatis

第四周作业

武鹏

【科普】Scrum——从橄榄球争球到敏捷开发

禅道项目管理

Scrum 敏捷开发

架构师训练营第四周作业

陈靓-哲露

什么是工程师思维?

尖果爱学习

思维方式

架构师训练营 - 第四周学习总结

hellohuan

极客大学架构师训练营

架构师训练营 - 第四周总结

牛牛

学习 极客大学架构师训练营

架构师 第四周学习总结

冯凯

架构师训练营 - 作业 -4- 互联网产品问题与架构方案

superman

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

chenzt

【week04】总结

chengjing

大型互联网应用系统都采用了哪些技术和手段,解决了什么问题?

hellohuan

极客大学架构师训练营

架构师训练营第四周作业

大丁💸💵💴💶🚀🐟

架构师 第四周作业

冯凯

我精心整理的 136 页 Excel 数据透视表 PDF 文件!【附获取方式】

JackTian

Python 程序员 数据分析 Excel 数据透视表

分布式系统设计 - 第四周总结

孙志平

架构师训练营作业

Hanson

Week04作业

熊威

架构师训练营第四周总结

陈靓-哲露

通俗易懂的 Deno 入门教程

阿宝哥

typescript 大前端 deno

一个典型的大型互联网应用系统使用哪些技术方案和手段

李锦

极客大学架构师训练营

从不可描述的服务雪崩到初探Hystrix

老胡爱分享

高可用 灾备

第四周总结

武鹏

一题搞定static关键字

Java课代表

面试

架构师训练营 - 命题作业 第 4 周

水边

极客大学架构师训练营

Rust 1.10,对引导、Panic处理及更多特性的改进_语言 & 开发_Sergio De Simone_InfoQ精选文章