#14599·substrate

网络流事件不应被克隆

作者: sandreim创建于 2023年7月20日更新于 2023年8月24日
标签I3-bugI9-optimisation

目前, NetworkWorkerhttps://GitHub.com/paritytech/substrate/blob/master/client/network/src/service/out_events.rs#L219 中为每个事件流监听器创建一个克隆。例如,在一个简单的 Versi 测试中,有 200 个验证者和 40 个副链,我们从网络中获得的流量/事件大约为 1MB/s: Screenshot 2023-07-20 at 12 30 23

考虑到有 5 个这样的监听器,我认为目前的设计存在很大问题,因为实际上会创建 5 个额外的副本,浪费内存和 CPU,使内部流量总量超过 5MB/s。

内容来源: paritytech/substrate