发布于 2017-03-17 07:22:02 | 129 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Rust教程,程序狗速度看过来!

Rust 编程语言

Rust是Mozilla开发的注重安全、性能和并发性的编程语言。创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现Null指针等等。


Rust 1.16 发布了,Rust 是一门专注于安全性,速度和并发性的系统编程语言。

Rust 1.16 新增了一个 cargo check 命令,这个新的子命令在许多情况下可加快开发工作流程。

它有什么作用呢?先来谈谈 rustc 如何编译你的代码。编译过程中有许多 “passes”,也就是说,编译器从你的源代码到生成最终的二进制文件有许多不同的步骤。通过加上 -Z time-passes 参数,可以看到每个步骤(以及它们需要多少时间和内存)

rustc .hello.rs -Z time-passes  time: 0.003; rss: 16MB  parsing  time: 0.000; rss: 16MB  recursion limit  time: 0.000; rss: 16MB  crate injection  time: 0.000; rss: 16MB  plugin loading  time: 0.000; rss: 16MB  plugin registration  time: 0.049; rss: 34MB  expansion  <snip>

这里面包含了许多信息,但是,可以在两个大步骤中想到这个过程:首先,rustc 执行所有的安全检查,确保你的语法是正确的。第二,一旦它满足一切顺序,它将产生你最终执行的二进制代码。

事实证明,第二步需要很多的时间。而且大多数时候这不是必要的。也就是说,当你处理一些 Rust 代码时,许多开发人员将进入如下工作流程。

  1. 编写一些代码

  2. 执行 cargo build 指令确保其可以编译

  3. 如果需要重复第 1、2 步

  4. 执行 cargo test 指令以确保测试通过

  5. GOTO 1

在第二步,你从来没有真正运行你的代码。你需要的是来自编译器的反馈,而不是运行二进制代码,cargo check 支持这样的情况:它运行所有的编译器检查,但不会产生最终的二进制文件。

那到底能提速多少呢?像大多数与性能相关的问题那样,答案是 “看情况”。这里有一些不那么科学的基准:

其他改进:

为了支持 cargo checkrustc 已经可以发送一种新的文件: .rmeta。这种文件将只包含有关特定 crate 的元数据。cargo check 需要这个用于你的依赖,让编译器检查类型等。它对 Rust Language Server 也很有用,并且将来可能还有更多的工具。

另一个大的变更是删除了一个长期的诊断: 考虑使用显式的生命周期参数,这个诊断将会在当你有一个不正确的生命周期注释时起作用,而且编译器会判断你想表达其他意思。

本次的更新内容较多,可点击下面的链接参阅详细信息。

发行主页发行日志

下载地址:



历史版本 :
Rust 1.23.0 发布,Mozilla 开发的系统编程语言
Rust 1.22.0 发布,Mozilla 开发的系统编程语言
Rust 1.21.0 发布,Mozilla 开发的系统编程语言
Rust 1.19 发布,Mozilla 开发的系统编程语言
Rust 1.18 发布,Mozilla 的编程语言
Rust 1.17 发布,Mozilla 的编程语言
Rust 1.16 发布,Mozilla 的编程语言
Rust 1.15 发布,Mozilla 的编程语言
Rust 语言服务器 Alpha 版本发布
Rust 1.14 发布,Mozilla 的编程语言
Rust 1.13 发布,Mozilla 的编程语言
Rust 1.12 发布,Mozilla 的编程语言
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务