Rust中的高吞吐量流处理( 三 )


注:当用测量系统的行为改变其性能时,可能会出现像“海森伯测不准原理”这样的问题 。如果遇到此种情况,请查看“粗时间库”;通常,定时测量取近似值就足够了 。
我们在Digital Ocean实例中,经过试验和错误数据总结出:最佳数量是8个SHA512线程和4个BLAKE3线程 。

Rust中的高吞吐量流处理

文章插图
图片
结果:小于初始时间的1/6 。
四、下一步:为不同的流处理结果分配内存在这篇文章中,我们用具体实例介绍了Rust中流处理的概念、方法和优化,但是还有很多细节没有讨论 。在实际系统中,我们应该考虑将“线程”固定到CPU内核上,用来减少上下文切换 。
此外,在流处理时,你通常需要为不同的结果分配内存 。这是昂贵的,所以,在今后的文章中,我们还将讨论这方面的一些策略 。
参考资料:1.https://noz.ai/hash-pipeline/
2.https://zhuanlan.zhihu.com/p/70247995?utm_id=0




推荐阅读