~/talk

Designing and rewriting asynchronous tasks from scratch

Talkat NDC Oslo 2020 · 2020-06-08..06-12· [python]
slides:none on file

Reimplements the Task/future and TaskCompletionSource/promise from first principles, building a continuation queue, four continuation types, a thread‑pool future scheduler and a tryExecuteInline inlining heuristic, then implements the C# async state machine and a generic IAsyncMethodBuilder so async/await compiles to these primitives. Digs into a surprising boxing bug, forces a lazy allocation fix, shows allocator and delegate tradeoffs, and produces a working async/await pipeline that reduces heap allocations.

AI-written summary · about

  1. 0:00Start
  2. 9:09Future Continuation
  3. 12:43Add Continuation
  4. 16:56Inlining
  5. 17:59Thread Pull Feature Scheduler
  6. 20:52Default Scheduler
  7. 25:39Async Await
  8. 26:32State Machine
  9. 32:18Working State Machine
  10. 35:39Nasync Method Builder
  11. 44:23Force the Allocation of the Future
  12. 45:17Implement the Fix
  13. 51:35The Async Method Builder Attribute
  14. 53:41The Circulation Context
  15. 57:43Extension Method
~/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.