Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
Rust异步框架的性能评估
22-04-20
banq
在这篇文章中,我们将评估三个
异步
框架在异步网络上的表现。它们中的每一个都将与 Rust 标准库提供的等效同步原语提供的基线性能进行评估和比较。也就是说,我们的目标是以下框架:
async_std
Tokio
smol
。。
我们的评估表明async_std和smol非常接近标准库,并且在某些工作负载上的表现优于它。
另一方面,Tokio似乎很快就达到了它的极限~18µs 和 100 msg/s,它显示 TCP 和 UDP 之间没有区别。
此外,Tokio 似乎受到 CPU-bound (Rust) 异步任务的不利影响。
基于这些结果,我们认为我们别无选择,只能继续使用async-std。
也就是说,理解为什么Tokio会在争用下暴露这种行为以及改进其原始性能以缩小与async_std的差距将会很有趣。
就目前而言,Tokio在 localhost 中引入了 8µs 的额外延迟,在网络上引入了 10µs。
理想情况下,我们希望看到一个异步框架成为“标准”,但要做到这一点,我们不能忽视原始性能。
我们期待与社区的其他成员一起参与和合作,以帮助实现这一目标。
详细点击标题
RUST语言
异步编程