Summary 271 What runtime you start with depends a bit on what crates you're using the most. Smol and async-std share a lot of implementation details and will behave similarly. Their big selling point is that their API strives to stay as close as possible to the standard library. Combined with the fact that the reactors are instantiated implicitly, this can result in a slightly more intuitive experience and a more gentle learning curve. Both are production-quality runtimes and see a lot of use. Smol was originally created with the goal of having a code base that's easy for programmers to understand and learn from, which I think is true today as well. With that said, the most popular alternative for users looking for a general-purpose runtime at the time of writing is Tok io (https://tokio. rs/ ). Tokio is one of the oldest async runtimes in Rust. It is actively developed and has a welcoming and active community. The documentation is excellent. Being one of the most popular runtimes also means there is a good chance that you'll find a library that does exactly what you need with support for Tokio out of the box. Personally, I tend to reach for Tokio for the reasons mentioned, but you can't really go wrong with either of these runtimes unless you have very specific requirements. Finally, let's not forget to mention the futures-rs crate (https://github. com/rust-lang/futures-rs ). I mentioned this crate earlier, but it's really useful to know about as it contains several traits, abstractions, and executors ( https://docs. rs/futures/latest/futures/ executor/index. html ) for async Rust. It serves the purpose of an async toolbox that comes in handy in many situations.