~/talk

Putting Coroutines to Work with the Windows Runtime

Talkat CppCon 2016 · 2016-09-18..09-23· [concurrency]
linkedin:kennykerr
links:none on file
slides:none on file

Shows how C++ coroutines are adapted to Windows Runtime by making the four WinRT async interfaces awaitable, using await adapters and await_transform to expose get_progress_token and cancellation, and by coalescing promise + async object into one allocation so the runtime avoids extra heap work. Demonstrates thread-pool primitives like resume_background and resume_after for IO, timers and waits, and reports a microbenchmark (1,000,000 runs) showing about 40x faster than std::future; the implementation is practical and interoperable with the Windows thread pool and C++/WinRT headers.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 1:28Async operations today
  3. 3:54C++/WinRT async basics
  4. 7:02Windows Runtime async interfaces
  5. 12:22Making async types awaitable
  6. 16:55Coroutine traits for WinRT async
  7. 22:53Progress and cancellation in coroutines
  8. 27:50Thread pool integration
  9. 33:07Thread context switching
  10. 36:39Thread pool wait and timer objects
  11. 42:20Performance benchmarks
  12. 47:14Resources and closing
~/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.