Overview
Explore the intricacies of zero-cost async I/O in Rust with this insightful conference talk from RustLatam 2019. Delve into the world of async/await syntax, futures, and non-blocking I/O as presented by a senior Rust language designer. Learn about the evolution of async programming in Rust, including the challenges faced and solutions developed. Discover the advantages of pull-based abstractions, state machines, and heap allocation optimizations. Examine benchmarks, futures combinators, and the impact of async/await on code readability and error handling. Gain a deeper understanding of borrowing issues, future references, and the Pin API. Conclude with insights into the stabilization of futures and the potential for futures streams in Rust's ecosystem.
Syllabus
Introduction
AsyncAwait
Future
ZeroCost Abstraction
Async IO
Async IO Problem
GreenThreads
Memory Overhead
Futures
Future callbacks
Pullbased abstraction
Pullbased advantages
State machine
heap allocation
Benchmark
Futures combinators
Async await
Reddit quote
Better error messages
Borrowing problem
Future references
Pin
Box Future
Pin API
Futures API
Futures stabilization
Futures streams
Takaya model
Taught by
Rust