RLoop: an AsyncIO event loop implemented in Rust
summary
RLoop is an AsyncIO event loop written in Rust that is usable but in alpha state. It implements selector-based AsyncIO (no Windows proactor) with roughly 1000 lines of Rust and a core 300-line loop. Benchmarks show TCP performance gains of 2–18% over CPython’s stdlib and about ~6% versus uvloop in some cases; HTTP results are mixed (not faster than uvloop on Granion) and Linux testing produces inconsistent outliers, including one 4x regression.
AI-written summary · about
chapters (17)
- 0:00Introduction and journey
- 1:29What is an event loop
- 6:07Coroutines and futures
- 8:14Tasks and control flow
- 10:04Why implement an event loop
- 11:50Limitations of uvloop
- 13:19Why Rust for the event loop
- 14:45Reasons to use Rust
- 16:51Downsides of Rust
- 18:15Abstraction layers in CPython
- 18:59Protocols and transports
- 20:04RLoop status and features
- 20:25Performance benchmarks
- 21:54HTTP performance results
- 22:37Future plans and Windows
- 23:40Final thoughts and summary
- 24:22Q&A session
related talks
30mWriting High Performance Async IO Apps
59mParallel Programming in Rust: Techniques for Blazing Speed
53mRust: Reach Further!
36mPumping up Python modules using Rust
25mRayon: Data Parallelism for Fun and Profit
22mRobyn: A fast async Python web framework with a Rust runtime
47mA Tale of Two Asyncs: Open Source Language Design in Rust and Node.js
21mExtending the horizons of R with Rust
