【Rust日报】2019-09-18 async-std v0.99.6 版本更新

2019-09-24 16:10:50 浏览数 (1)

async-std v0.99.6 版本更新

这个版本增加了几个新的组合器、work-stealing 算法执行器,以及使用 IntoStreamFromStreamcollect 流的能力。

此外,async-attributes 1.0 已经发布,它增加了对 async fn main, #[test] async fn#[bench] async fn 的支持。

使用示例
代码语言:javascript复制
let a = stream::once(1u8);
let b = stream::once(2u8);
let c = stream::once(3u8);

let s = stream::join!(a, b, c);

assert_eq!(s.collect().await, vec![1u8, 2u8, 3u8]));

详情查看

Reddit 讨论:https://www.reddit.com/r/rust/comments/d6eb4g/asyncstd_v0996_released/

使用 rust 去编译 WebAssembly

@_lrlna@twitter 在 RustConf 2019 上做了个演讲,通过使用 rust 编译 webassembly,并提升性能。

内容简要如下:

你应该了解到在浏览器中可运行 WebAssembly,但是这看起来像 IRL 吗?为了寻求在浏览器中运行 WASM 所带来的性能优势,Compass(用于 MongoDB 的 GUI)迈出了一大步,在 Rust 中重写了应用程序的一部分——一个负责文档分析的模式解析器。事实证明:将应用程序的某些部分使用 Rust 重写会使它更快。

在这次演讲中,将介绍如何将部分代码从 JavaScript 转换为 Rust,通过绑定 Electron,将 WASM 添加到现有的 React 应用程序中,并将其部署到生产环境中。因为 Compass 仍然通过 Nodejs 与 MongoDB 通信。此外还介绍了如何使用 Rust 在不丢失数据完整性的情况下提高性能。演讲过程中还包含了我们遇到了什么难题以及如何克服的。

演讲视频地址:https://www.youtube.com/watch?v=lLzFJenzBng&feature=youtu.be

Xcode 的 rust 工具链 - rust-bitcode

在Rust的标准版本中,ARM64 iOS目标中的位代码通常与 Xcode 不兼容,因为它们使用不同版本的LLVM。这是一个众所周知的问题,目前还没有明确的长期解决方案。

这个存储库包含用于构建和安装自定义 Rust nightly 的脚本,其中 Rust 编译器版本的 LLVM 与 Xcode 匹配。使用此工具链构建的软件可以包含在支持位码的应用程序中,这些应用程序将安装在真正的 iOS 设备上。

了解更多请看:https://github.com/getditto/rust-bitcode

Rust 在物联网(IoT)的应用

演讲介绍了编写运行微控制器的 Rust 技巧,并调查已经现有生态系统中可用的优秀嵌入式Rust项目。

如果您的物联网项目在 ARM 或 MSP430 上,那么它已经在 Rust 编译器中获得了本地支持,AVR和RISC-V也有可用的编译器分支。但是架构支持只是第一个挑战:如果您习惯于为运行操作系统的主机编写Rust,那么在嵌入式世界中必须自己完成所有工作的范式转换可能会很不协调。

更多请原文视频地址:https://morioh.com/p/73aac331a451


From 日报小组 @Jancd

日报订阅地址:

独立日报订阅地址:

  • Telgram Channel
  • 阿里云语雀订阅
  • Steemit
  • GitHub

社区学习交流平台订阅:

  • Rust.cc论坛: 支持rss
  • Rust Force: 支持rss
  • 微信公众号:Rust语言学习交流

0 人点赞