【Rust日报】2020.07.27 async-fs,tch-rs, Data Oriented Design, Rust CI
- 2020.07.27
- Rust crates 私有化部署指南
- async-fs 异步版本的 std::fs, stjepang 出品
- Rust 中的 Data Oriented Design 介绍
- Rusty Days | 首届网络 Rust Conf 即将开幕
- Rust语言CUDA device编译时检查
- Rust CI迁移到Github Action
Rust crates 私有化部署指南
想在公司内部大范围推广 rust, 必然会遇到依赖私有 crate的情况. 这边文章会告诉你如何使用 Alexandrie 来搭建你的私有 registry.
async-fs 异步版本的 std::fs, stjepang 出品
stjepang 大神的又一个基础库,新鲜出炉. 和 std::fs
几乎一样的 API和性能. 而且不依赖smol
, 主要依赖 blocking
.
在和 tokio
的简单对比下(创建一个文件写入并且读回).
Rust 中的 Data Oriented Design 介绍
Data-oriented design
是通过仔细的考虑数据结构在内存中的布局, 自动向量化影响 以及 CPU 缓存的使用等方式来优化程序的一种方法. 注意不要和 Data-driven Desgin
混淆哦. 更多见 wikipedia 解释
本文通过下面 4 个例子,并且使用 criterion
来进行性能测试, 来阐述 一些 Rust 中的 Data-oriented design
概念.
Struct of arrays
vs.array of structs
- 在一个 loop 中做分支选择的代价
Linked List
vs.Vector iteration
- 动态分发(dynamic dispatch)的代价 vs. 单太化( monomorphisation )
Rust语言CUDA device编译时检查
Compile time CUDA device checking in Rust
Rust语言CUDA device编译时检查。 Rust稳定版马上就可以使用const generics了,对有些特定的BUG这可以节省大量的编译时间。 这样的BUG有类似PyTorch用来操作CUDA devices数据的时候就会常常出现,这里 我们用tch-rs libtorch的Rust语言绑定来看看。 libtorch的rust语言绑定tch-rs类似PyTorch但是是用Rust语言来完成的。
Rust CI迁移到Github Action
Rust's CI is moving to GitHub Actions
https://blog.rust-lang.org/inside-rust/2020/07/23/rust-ci-is-moving-to-github-actions.html
Rust基础设施团队宣布Rust的CI(Continue Integration)已经迁移到了Github Action上了。 长期以来,Compiler研发最头疼的就是对各种PRs的Merge合并工作。为了保证Master Branch全面安全飘绿, Rust团队研发采取的是从PR队列中一个一个PR测试并审核通过。 Rust的CI是很广泛的,57台服务器同时开动编译和测试,涵盖各个Rust支持的不同的操作系统。迁移前的环境一个Build 至少需要3-4个小时才能Build编译完成。这样测试集成一个PR需要至少一天的时间。
Rusty Days | 首届网络 Rust Conf 即将开幕
日期 7.27 - 8.2
此次大会还有个在线Hackathon活动
详情: https://rusty-days.org/
From 日报小组 FBI小白,BobQ
独立日报订阅地址:
社区学习交流平台订阅:
评论区
写评论还没有评论