~/talk

Async demystified

Talkat NDC Sydney 2019 · 2019-10-14..10-18· [frontend-architecture]
slides:none on file

Traces the evolution from APM/APM callbacks that blow up on loops (stack overflow after recursive callbacks on a 10k in-memory buffer) to Tasks (introduced in .NET Framework 4.0) and compiler-generated state machine structs (async/await in 4.5), shows the two allocations per async call — TaskCompletionSource plus its Task — and quantifies GC costs (up to 5–10% hit). Explains ValueTask (Core 2.0) and IValueTaskSource (Core 2.1 + Memory/Span overloads) that enable cached results (preallocated entries for -1..8) and zero-allocation socket paths by reusing completions.

AI-written summary · about

  1. 0:00Introduction
  2. 1:44APM Pattern
  3. 10:12EAP Pattern
  4. 12:12Introduction of Tasks
  5. 22:04Async and Await
  6. 31:21Compiler Optimizations
  7. 38:59Value Tasks and Beyond
~/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.