【Rust 日报】2021-7-15 Zenoh 性能提升的故事| 漫游在 Rust 异步仙境

Zenoh 团队通过性能优化,使异步性能提升一倍,达到 8 字节 payload 时超 3.5M msg/s,1Mb payload 时超 45Gb/s。他们使用 perf 工具找到热点,优化序列化,减少栈分配,并平衡同步与异步代码,显著降低了内存压力。
摘要由CSDN通过智能技术生成

慢啃 Rust 系列 | Gazebo 库 之 Dupe

原文标题:Rust Nibbles - Gazebo : Dupe

「Rust Nibbles」 翻译成 「慢啃 Rust 」 没毛病吧 ?

这是 Facebook for Develpers 网站出的Rust Nibbles系列文章,介绍 facebook 开源的各种 Rust 库。

Gazebo 是 facebook 工程师 编写的基础库,Gazebo以独立模块的形式包含了一系列经过测试的Rust实用程序。这篇文章是介绍了 Gazebo 中的 Dupe trait 。

在Rust中,有两个用于 "复制 "一个值的相关特性--Copy和Clone。

在Gazebo中引入了第三个类似的trait,称之为Dupe,它可以在Gazebo Prelude中使用。(dupe 有复制物品/复制底片的意思)。

Copy 是 编译器的自动行为,复制成本也不高。而 Clone 则不然。为了降低 Clone 的成本,一般可以使用 Arc,但是 Arc 使得代码阅读成本提升。比如 let xs = ys.clone();,你可能需要查看大量上下文来弄清是 调用了 Clone 还是 Arc 。当然你可以使用 let xs = Arc::clone(ys)来提升可读性,但缺点是,它破坏了抽象。

所以,Gazebo 中引入了 Dupe trait, let xs = ys.dupe()

rust use gazebo::prelude::*; #[derive(Clone, Dupe)] struct MyArc(Arc);

看了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值