Performance issues #4703
-
A Performance Evaluation on Rust Asynchronous Frameworks I saw this analysis. Does Tokio have an optimization plan? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 4 replies
-
Looking over the code, the following thoughts come to mind:
I suspect that the timer issue is probably the bigger problem in this case. All that said, there are areas where we know that better performance is possible. The mpsc channel is the main example. Additionally, there has been some discussion about whether we can improve the performance of code running in |
Beta Was this translation helpful? Give feedback.
-
@gabrik, @carllerche asked me to mention you in this issue. I'd guess you may want to bring Zenoh issues here. |
Beta Was this translation helpful? Give feedback.
-
Thanks @spastorino and @carllerche for bringing this discussion to the Zenoh team attention. @Darksonn thanks for taking the time to go through our tests and provide feedback. 1 - Ping/Pong test
2 - Sleep resolution
Very interesting insight on how sleep work. A bit more of context on Zenoh and our use case: what we mainly deal with is machine-type of communication which requires lower latency and higher guarantees in terms of latency and jitter compared to e.g. web applications. In that context, we need to pace and prioritise different traffic flows with a resolution of few microseconds. Do you hence have any idea on how to achieve that pattern in Tokio or, in a Tokio-friendly manner? |
Beta Was this translation helpful? Give feedback.
Looking over the code, the following thoughts come to mind:
block_on
rather than inside spawned task. It's known that this hurts performance of IO in Tokio. The ping tests appear to have fixed this since the article was posted, but it's still the case in the pong tests, and the article hasn't been updated since the ping tests were fixed.