~/talk

Let's build an async runtime together

links:none on file
slides:none on file

A small async runtime is built in Rust using only the standard library plus nix, implementing single-threaded with helper threads cooperative scheduling, per-task wakers and parking/unparking. It runs 1 million tasks sleeping concurrently in about 3–3.5s, implements sleep (currently spawns one background thread per sleep), nonblocking TCP connect and write via a background selector thread using select, and drives futures to completion. It sends data at scale in the demo — 7 GB at ~500 MB/s — but TCP read is missing and timers and FD polling should move to epoll/kqueue/io_uring for production.

AI-written summary · about

  1. 0:00Building async runtimes
  2. 1:30What is async runtime
  3. 3:57First runtime with polling
  4. 6:07Async sleep
  5. 9:20Spawning tasks
  6. 13:50Efficient polling with wakers
  7. 18:28TCP connections and data
  8. 25:45Tasks and wakers
  9. 28:55Final demo
  10. 30:00Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.