~/talk

Elegant Asynchronous Code

Talkat CppCon 2016 · 2016-09-18..09-23· [concurrency, c-and-cpp]
links:none on file
slides:none on file

Claim: Boost.Fiber lets async I/O be written like blocking, layered C++ code while avoiding many OS threads. Uses Boost.Fiber plus adapters to boost::asio callbacks that convert into std::promise/std::future, package_task, and unbounded/bounded channels; demonstrates read adapters, a wait_any/wait_all pattern using detached fibers and channels, and custom schedulers. Shows cooperative yielding via yield to integrate with event loops, notes thread sanitizer slows 5–15× and boosts memory 5–10×. Fibers work and are in Boost 1.62.

AI-written summary · about

  1. 0:00Intro
  2. 0:37Program Organization - How do you design a nontrivial program?
  3. 3:33Threads
  4. 8:52The Cost of Locking
  5. 12:10Tooling?
  6. 14:57Async hole
  7. 15:53Async lifelines
  8. 19:48Boost.Fiber
  9. 20:38What are Fibers?
  10. 23:24What about stackless?
  11. 27:50Stacks for the win
  12. 28:56A passing glance at the Fiber API
  13. 30:50Fibers and Asynchronous Callbacks
  14. 33:03Fibers and Nonblocking 10
  15. 41:35wait all()
  16. 43:42Integrating with an Event Loop
  17. 44:55Integrating with Another Framework
  18. 46:22Customizing the Fiber Scheduler
  19. 49:14Performance
~/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.