前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2021-05-01 Rust如何使Rayon的数据并行性变得神奇

【Rust日报】2021-05-01 Rust如何使Rayon的数据并行性变得神奇

作者头像
MikeLoveRust
发布2021-05-11 11:26:11
2.4K0
发布2021-05-11 11:26:11
举报

RustCrypto 项目多个crate发布新版本

RustCrypto 项目多个 crate 发布新版本:

  • aead v0.4;
  • cipher v0.3;
  • crypto v0.2;
  • elliptic-curve v0.9;
  • ecdsa v0.11;

详细的公告链接,https://users.rust-lang.org/t/rustcrypto-release-announcements/59149

Rust如何使Rayon的数据并行性变得神奇

Rayon 是针对 Rust 语言的数据并行性库。开始使用 Rayon 的程序员,普遍表达了一种神奇的感觉:“我更改了一行,现在我的代码可以并行运行!” 。Rayon 的开发者 Josh Stone 认为这要归功于 Rust 语言自身,并撰文 Rust 是如何支持 Rayon 的并行性。

  • Rust 的所有权和借用规则;
  • 线程安全 traits:SendSync
  • 闭包 traits:FnOnceFnMutFn
  • 泛型约束;

使用Rayon,可以轻松地将顺序迭代器转换为并行迭代器。通常只需将 foo.iter() 调用更改为 foo.par_iter(),其余则由 Rayon 完成示例:

代码语言:javascript
复制
use rayon::prelude::*;
fn sum_of_squares(input: &[i32]) -> i32 {
    input.par_iter() // <-- just change that!
         .map(|&i| i * i)
         .sum()
}

Github 链接,https://github.com/rayon-rs/rayon

文章链接,https://developers.redhat.com/blog/2021/04/30/how-rust-makes-rayons-data-parallelism-magical/

rg3d游戏引擎现已完全支持WebAssembly

rg3d,一个功能丰富的通用 3D 游戏引擎,并带有场景编辑器。迄今为止,用Rust编写的功能最强大的3D游戏引擎。

Github 链接,https://github.com/mrDIMAS/rg3d

在线 Demo 链接,https://rg3d.rs/assets/webexample/index.html

Gfx-rs 发布 v0.8

Gfx-rs,Rust 中的底层图形抽象层,低开销的类似于 Vulkan 的GPU API。gfx-rs,使用较难,建议对性能敏感的库和引擎使用,wgpu-rs 是一种安全而简单的选择。

Github 链接,https://github.com/gfx-rs/gfx

【Video】Crust of Rust 系列:胖指针

Youtube 视频,https://youtu.be/xcygqF5LVmM

祝大家五一劳动节快乐。


From 日报小组 洋芋

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rust如何使Rayon的数据并行性变得神奇
  • rg3d游戏引擎现已完全支持WebAssembly
  • Gfx-rs 发布 v0.8
  • 【Video】Crust of Rust 系列:胖指针
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档