Formalizing Asynchronous Context
summary
Proposes a concrete Continuation Model that gives every async callback a continuation wrapper via a host API called continuify, producing a context object with a unique invocation ID plus link and ready pointers so any stack frame can trace "how did I get here". Claims the resulting async call graph is a GC-collectable DAG, enables request-level timing and heap-allocation tagging for memory-leak heuristics, and targets implementation at the VM level with measurable perf overhead.
AI-written summary · about
chapters (14)
- 0:00Intro
- 1:26What is Async Context?
- 4:23Why Is Async Context Important?
- 6:47Where Is JS Community Today?
- 8:49A Formal Model
- 9:53A JavaScript Application
- 11:32Concepts
- 12:41continuify() API
- 13:34All JS code executes inside a Context
- 15:32An Example
- 18:03Async Call Graph
- 18:24Solution: Understanding Perf Timings
- 19:20Solution: Memory Leak Detection
- 23:12Thank You!
related talks
01h 06mthe asynchronous library
01h 00mDeciphering C++ Coroutines Part 2 - Mastering Asynchronous Control Flow
28mGrokking Asynchronous Work in Node.js
12m600 Seconds on async_hooks
48mFatal Node.js Flaw
20mUnhandled rejections and other awaited promise tales
33mThe Birth and Evolution of AsyncHooks
38mIvan Tulup. Async mess in JS under the hood
