The Evolution of Async Rust: From Tokio to High-Level Applications
Carl Lerche, creator of Tokio, discusses the evolution of async Rust over the past decade. The conversation covers Tokio's architectural decisions including work-stealing schedulers and cooperative scheduling, common pitfalls like blocking the runtime with CPU-heavy work, and debugging techniques using tracing and runtime metrics. Key topics include cancellation through Drop, why Tokio became the dominant runtime, io_uring's limited networking benefits, and the future of Rust in high-level web frameworks through projects like Toasty.