Overview
Explore applied C++20 coroutines in this comprehensive conference talk from ACCU 2023. Delve into practical examples of designing, debugging, and empirically evaluating coroutines, focusing on developing a coroutine-based web server using CMake and Boost.Beast. Compare performance between coroutine and event-driven implementations, gain insights into real-world applications, and learn about new C++23 features addressing practical concerns. Suitable for all levels, the talk covers introductory material, clarifies coroutine concepts, and provides guidance on implementing coroutines in web servers. Discover the differences between coroutines and conventional callback models, evaluate coroutine performance, and get updates on C++23 coroutines and a preview of C++26 developments.
Syllabus
Introduction
What next
Outline
Example Code
Back to Basics
Concurrency vs Parallelism
Coroutine granularity
Coroutine vs Fibers
OS Multitasking
Coroutines as fibers
Example
Blue Wireless
Mobile Connection Management
Architecture
Architecture Example
Dispatcher
Connect to Action
TCP Connections
CPP
Coroutines
Waitable
Return Type
Promise Type
Handles
Promise
Loop
Applications
Observations
BoostBeast
Apache Bench
Taught by
ACCU Conference