~/talk

“C++ Coroutines - a negative overhead abstraction"

Talkat CppCon 2015 · 2015-09-21..09-25· [concurrency, compilers-and-language-design]
slides:none on file

Claims that C++17 coroutines act as a negative-overhead abstraction: implemented an awaitable interface with await_ready/await_suspend/await_resume, glued to OS I/O via a void context so callbacks reconstitute and resume coroutines. Builds a coroutine-based adapter over raw C networking APIs, shows a read-loop example, and measures roughly 2x speedup after optimizations, smaller binary/object sizes versus callback state machines (hello-world baseline ~9 KB) and much lower per-operation overhead once synchronous-completion and allocation workarounds are applied.

AI-written summary · about

  1. 0:00Introduction to C++ coroutines
  2. 1:55History of coroutines
  3. 7:34Negative overhead abstraction
  4. 8:38Transition to modern examples
  5. 9:00Synchronous vs asynchronous state machines
  6. 10:05Traditional async models in C++
  7. 15:52State machine implementation
  8. 18:55Callback-based async patterns
  9. 19:17Coroutines and await keyword
  10. 21:49Performance comparison
  11. 26:28Awaitable concept explained
  12. 31:06Implementing async read with coroutines
  13. 32:36Optimizing async operations
  14. 37:34Profiling and allocations
  15. 40:07Philosophy behind coroutines
  16. 42:35Design principles for coroutines
  17. 45:02C++ coroutines status and future
  18. 46:08Q&A session
~/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.