Show HN: Writing a C++20M:N Scheduler from Scratch (EBR, Work-Stealing)
lixiasky Tuesday, February 17, 2026tiny_coro is a lightweight, educational M:N asynchronous runtime written from scratch using C++20 coroutines. It's designed to strip away the complexity of industrial libraries (like Seastar or Folly) to show the core mechanics clearly.
Key Technical Features:
M:N Scheduling: Maps M coroutines to N kernel threads (Work-Stealing via Chase-Lev deque).
Memory Safety: Implements EBR (Epoch-Based Reclamation) to manage memory safely in lock-free structures without GC.
Visualizations: I used Manim (the engine behind 3Blue1Brown) to create animations showing exactly how tasks are stolen and executed.
Why I built it: To bridge the gap between "using coroutines" and "understanding the runtime." The code is kept minimal (~1k LOC core) so it can be read in a weekend.