Rust非同步框架的效能評估

banq發表於2022-04-20

在這篇文章中,我們將評估三個非同步框架在非同步網路上的表現。它們中的每一個都將與 Rust 標準庫提供的等效同步原語提供的基線效能進行評估和比較。也就是說,我們的目標是以下框架:

。。

我們的評估表明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。

理想情況下,我們希望看到一個非同步框架成為“標準”,但要做到這一點,我們不能忽視原始效能。
我們期待與社群的其他成員一起參與和合作,以幫助實現這一目標。

詳細點選標題

相關文章