# [C++ links](https://github.com/MattPD/cpplinks): Coroutines

https://github.com/MattPD/cpplinks / C++ Standard / C++20 / Coroutines

_(draft; work in progress)_

\#coroutines ([C++ Slack](https://cppalliance.org/slack/)): https://cpplang.slack.com/archives/C5JS5JXT5

# Contents

- [Readings](#readings): [Research](#readings-research)
- [Software](#software): [Examples](#software-examples)
- [Talks](#talks): [2024](#talks-2024), [2023](#talks-2023), [2022](#talks-2022), [2021](#talks-2021), [2020](#talks-2020), [2019](#talks-2019), [2018](#talks-2018), [2017](#talks-2017), [2016](#talks-2016), [2015](#talks-2015)

---

# Readings

- https://en.cppreference.com/w/cpp/language/coroutines
- Working Draft, C++ Coroutines
	- https://wg21.link/n4775
	- merged into C++20, http://wg21.link/p0912
- Brain Unrolling: Generators and the Sweet Syntactic Sugar of Coroutines - Adi Shavit
	- http://videocortex.io/2019/Brain-Unrolling/
- C++20 Coroutines and io_uring - Pablo Arias
	- https://pabloariasal.github.io/2022/11/12/couring-1/
	- https://pabloariasal.github.io/2022/11/13/couring-2/
	- https://pabloariasal.github.io/2022/11/13/couring-3/
- C++20: A coroutine based stream parser
	- https://andreasfertig.blog/2021/02/cpp20-a-coroutine-based-stream-parser/
- `co_resource<T>`: An RAII coroutine
	- https://vector-of-bool.github.io/2021/12/30/co_resource.html
- Coroutines TS Customization Points - https://hackmd.io/s/S1H_loeA7
- Coroutines: step by step; a journey through seven coroutine types
	- Daily bit(e) of C++ #441 Mar 17, 2024
	- Šimon Tóth
	- https://simontoth.substack.com/p/daily-bite-of-c-coroutines-step-by
- http://www.vishalchovatiya.com/cpp20-coroutine-under-the-hood/
- David Mazières
	- My tutorial and take on C++20 coroutines - https://www.scs.stanford.edu/~dm/blog/c++-coroutines.html
- Dawid Pilarski
	- Coroutines introduction - https://blog.panicsoftware.com/coroutines-introduction/
	- Your first coroutine - https://blog.panicsoftware.com/your-first-coroutine/
	- co_awaiting coroutines - https://blog.panicsoftware.com/co_awaiting-coroutines/
- How C++ coroutines work - Kirit Sælensminde
	- https://kirit.com/How%20C%2B%2B%20coroutines%20work
- Lewis Baker - C++ Coroutines: 
	- Coroutine Theory - https://lewissbaker.github.io/2017/09/25/coroutine-theory
	- Understanding operator co_await - https://lewissbaker.github.io/2017/11/17/understanding-operator-co-await
	- Understanding the promise type - https://lewissbaker.github.io/2018/09/05/understanding-the-promise-type
	- Understanding Symmetric Transfer - https://lewissbaker.github.io/2020/05/11/understanding_symmetric_transfer
	- Understanding the Compiler Transform - https://lewissbaker.github.io/2022/08/27/understanding-the-compiler-transform
- On the Performance of User-Mode Threads and Coroutines
	- August 7, 2020; Ron Pressler
	- https://inside.java/2020/08/07/loom-performance/
- Painless C++ Coroutines - Gajendra Gulgulia
	- https://ggulgulia.medium.com/painless-c-coroutines-part-1-ba90dd101adb?sk=fad5c9d7985719e96583c999b51c8a1e
	- https://ggulgulia.medium.com/painless-coroutines-part2-29b36008b507?sk=6fa83a32164a2a043e6714d0e38886e5
	- https://ggulgulia.medium.com/painless-c-coroutine-part-3-536e4bce4f4f?sk=03a1bc6ad642b9398710397a2e7ac3fd
- Rainer Grimm - ModernesCpp.com
	- https://www.modernescpp.com/index.php/tag/coroutines
- Raymond Chen - A map through the three major coroutine series
	- https://devblogs.microsoft.com/oldnewthing/?p=105178
- What are coroutines and why should I care? - Marco Alesiani
	- http://www.italiancpp.org/2016/11/02/coroutines-internals/
- cpprefjp - C++日本語リファレンス (Japanese reference)
	- language feature - https://cpprefjp.github.io/lang/cpp20/coroutines.html
	- `<coroutine>` - https://cpprefjp.github.io/reference/coroutine.html
- GCC implementation
	- https://gcc.gnu.org/wiki/cxx-coroutines
	- Initial implementation pushed to master.
		- https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01096.html
- LLVM implementation
	- Coroutines in LLVM - https://llvm.org/docs/Coroutines.html
	- Debugging C++ Coroutines - https://clang.llvm.org/docs/DebuggingCoroutines.html
	- [RFC] [Coroutines] Enable printing coroutine frame in debugger if program is compiled with -g
		- https://reviews.llvm.org/D99179

## Readings: Research

### Readings: Research: 2025

- GastCoCo: Graph Storage and Coroutine-Based Prefetch Co-Design for Dynamic Graph Processing
	- International Conference on Very Large Data Bases (VLDB) 2025
	- Hongfu Li, Qian Tao, Song Yu, Shufeng Gong, Yanfeng Zhang, Feng Yao, Wenyuan Yu, Ge Yu, Jingren Zhou
	- https://doi.org/10.14778/3704965.3704986
	- https://www.vldb.org/pvldb/vol17/p4827-li.pdf
	- https://github.com/GorgeouszzZ/GastCoCo

### Readings: Research: 2023

- CoroGraph: Bridging Cache Efficiency and Work Efficiency for Graph Algorithm Execution
	- PVLDB, 17(4) 2023
	- Xiangyu Zhi, Xiao Yan, Bo Tang, Ziyao Yin, Yanchao Zhu, Minqi Zhou
	- https://www.vldb.org/pvldb/vol17/p891-zhi.pdf
	- CoroGraph: Light-weight graph framework based on coroutines
		- https://github.com/DBGroup-SUSTech/corograph

### Readings: Research: 2022

- Software Prefetching for Memory-level Parallelism
	- 2022 Ph.D. Dissertation
	- Yongkee Kwon
	- https://repositories.lib.utexas.edu/handle/2152/116966
- What Are You Waiting For? Use Coroutines for Asynchronous I/O to Hide I/O Latencies and Maximize the Read Bandwidth!
	- ADMS 2022: International Workshop on Accelerating Analytics and Data Management Systems Using Modern Processor and Storage Architectures
	- Leonard von Merzljak, Philipp Fent, Thomas Neumann, Jana Giceva
	- https://db.in.tum.de/~fent/papers/coroutines.pdf
	- micro-benchmarks to examine the benefits of asynchronous I/O for query processing using C++ coroutines and io_uring
		- https://github.com/L-v-M/async

### Readings: Research: 2021

- High-Performance In-Memory OLTP via Coroutine-to-Transaction
	- 2021 M.Sc. Thesis
	- Yongjun He
	- https://summit.sfu.ca/item/34670
	- https://github.com/sfu-dis/corobase

### Readings: Research: 2020

- CoroBase: Coroutine-Oriented Main-Memory Database Engine
	- VLDB 2021
	- Yongjun He, Jiacheng Lu, Tianzheng Wang
	- a research database engine that models transactions as C++20 coroutines to hide cache misses
	- https://github.com/sfu-dis/corobase
	- https://arxiv.org/abs/2010.15981
	- http://www.vldb.org/pvldb/vol14/p431-he.pdf

### Readings: Research: 2019

- Bridging the Latency Gap between NVM and DRAM for Latency-bound Operations
	- interleaving task execution with C++20 coroutines to hide memory access latency
	- Data Management on New Hardware (DaMoN) 2019
	- Georgios Psaropoulos, Ismail Oukid, Thomas Legler, Norman May, Anastasia Ailamaki
	- https://dl.acm.org/citation.cfm?id=3329917
	- Don’t stall – multitask! Random access to main memory with cache-like performance
		- https://www.linkedin.com/pulse/dont-stall-multitask-georgios-psaropoulos/

### Readings: Research: 2018

- Exploiting Coroutines to Attack the "Killer Nanoseconds"
	- PVLDB 11, 11 (July 2018)
	- Christopher Jonathan, Umar Farooq Minhas, James Hunter, Justin Levandoski, Gor Nishanov
	- http://www.vldb.org/pvldb/vol11/p1702-jonathan.pdf

### Readings: Research: 2017

- Interleaving with Coroutines: A Practical Approach for Robust Index Joins
	- PVLDB 11, 2 (October 2017)
	- Georgios Psaropoulos, Thomas Legler, Norman May, and Anastasia Ailamaki
	- http://www.vldb.org/pvldb/vol11/p230-psaropoulos.pdf

---

# Software

- Conduit: Lazy High Performance Streams using Coroutine TS
	- https://github.com/loopperfect/conduit
- Corral: lightweight structured concurrency for C++20
	- https://github.com/hudson-trading/corral
- CppCoro - A coroutine library for C++
	- https://github.com/lewissbaker/cppcoro
	- Maintained fork of cppcoro
		- https://github.com/andreasbuhr/cppcoro
- cxx-async: Simple interoperability between C++ coroutines and asynchronous Rust
	- https://github.com/pcwalton/cxx-async
	- https://pcwalton.github.io/_posts/2022-08-19-introducing-cxx-async.html
- folly::coro - a developer-friendly asynchronous C++ framework based on Coroutines TS
	- https://github.com/facebook/folly/tree/main/folly/coro
	- https://github.com/facebook/folly/blob/main/folly/experimental/coro/README.md
	- https://cppcast.com/2019/03/kirk-shoop/
	- Async Stack Traces for C++ Coroutines in Folly
		- 2021; Lee Howes and Lewis Baker
		- Introduction - https://developers.facebook.com/blog/post/2021/09/16/async-stack-traces-folly-Introduction/
		- Synchronous and asynchronous stack traces - https://developers.facebook.com/blog/post/2021/09/23/async-stack-traces-folly-synchronous-asynchronous-stack-traces/
		- Forming an async stack from individual frames - https://developers.facebook.com/blog/post/2021/09/30/async-stack-traces-folly-forming-async-stack-individual-frames/
		- Walking the async stack - https://developers.facebook.com/blog/post/2021/10/14/async-stack-traces-c-plus-plus-coroutines-folly-walking-async-stack/
		- Async stack traces in folly: Improving debugging in the developer lifecycle - https://developers.facebook.com/blog/post/2021/10/21/async-stack-traces-folly-improving-debugging-developer-lifecycle/

## Software: Examples

- libc++
	- https://github.com/llvm/llvm-project/blob/release/8.x/libcxx/test/std/experimental/language.support/support.coroutines/end.to.end/generator.pass.cpp
	- https://github.com/llvm/llvm-project/blob/release/8.x/libcxx/test/support/coroutine_types.h
- http://cppcast.com/2017/07/gor-nishanov/
	- Compiler Explorer: Coroutines clang demo - https://godbolt.org/g/pq6x57
	- Wandbox: Coroutines with Ranges - https://wandbox.org/permlink/D60wIndMZbth7BXS
- David Hollman - https://twitter.com/TheWholeDavid/status/1063135275671535616
	- https://wandbox.org/permlink/OqlSdKihqjBX2qUs
- Boost.Asio
	- https://www.boost.org/doc/libs/release/doc/html/boost_asio/examples/cpp17_examples.html
- Coop: C++20 coroutines-based cooperative multitasking library
	- https://github.com/jeremyong/coop
- coro-async - C++ coroutine based networking library (WIP)
	- https://github.com/arun11299/coro-async
- Coroutine TS: A new way of thinking - https://github.com/arBmind/2018-cogen-en
	- https://github.com/arBmind/2018-cogen-en/tree/develop/code
- Exploring the C++ Coroutine - https://github.com/luncliff/coroutine/
	- https://github.com/luncliff/coroutine/wiki
- generator: Single-header, ranges-compatible generator type built with C++20 coroutines.
	- https://github.com/TartanLlama/generator/
- coro: Single-header library facilities for C++2a Coroutines
	- https://github.com/Quuxplusone/coro
	- https://quuxplusone.github.io/blog/2019/07/03/announcing-coro-examples/

---

# Talks

## Talks: 2024

- Async Stacks: Making Senders and Coroutines Debuggable
	- CppCon 2024
	- Ian Petersen & Jessica Wong
	- https://www.youtube.com/watch?v=nHy2cA9ZDbw
	- https://github.com/CppCon/CppCon2024/blob/main/Presentations/How_Meta_Made_Debugging_Async_Code_Easier_with_Coroutines_and_Senders.pdf
- C++ Coroutines and Structured Concurrency in Practice
	- Dmitry Prokoptsev
	- C++Now 2024
		- https://www.youtube.com/watch?v=sWeOIS14Myg
		- https://github.com/boostcon/cppnow_presentations_2024/blob/main/Presentations/Coroutines_and_Structured_Concurrency_in_Practice.pdf
	- CppCon 2024
		- https://www.youtube.com/watch?v=aPqMQ7SXSiw
		- https://github.com/CppCon/CppCon2024/blob/main/Presentations/Coroutines_and_Structured_Concurrency_in_Practice.pdf
- C++ Coroutines at Scale - Implementation Choices at Google
	- C++Now 2024
	- Aaron Jacobs
	- https://www.youtube.com/watch?v=k-A12dpMYHo
	- https://github.com/boostcon/cppnow_presentations_2024/blob/main/Presentations/Coroutines_at_scale.pdf
- C++ Coroutines - Don’t Try This at Home
 	- ACCU 2024
 	- Lieven de Cock
	- https://www.youtube.com/watch?v=SVm99X3I-JY
- Coroutines and gRPC
	- C++Online 2024
	- Jonathan Storey
	- https://www.youtube.com/watch?v=kFgA-47fbjM
	- https://github.com/CppOnlineConference/CppOnline2024/blob/main/Presentations/coroutines_and_grpc_cpp_online_2024_slides.pdf
- Deciphering C++ Coroutines Part 2 - Mastering Asynchronous Control Flow
	- CppCon 2024
	- Andreas Weis
	- https://www.youtube.com/watch?v=qfKFfQSxvA8
- Introduction to Coroutines
	- Utah C++ Programmers 2024
	- Richard Thomson
	- https://www.youtube.com/watch?v=p2UBok-rTrg
- What We’ve Been Awaiting For? - How to Build a C++ Coroutine Type
	- C++Now 2024
	- Hana Dusíková
	- https://www.youtube.com/watch?v=78nwm9EP23A
	- https://github.com/hanickadot/co_curl
	- https://talks.cpp.fail/what-we-have-been-awaiting-for/

## Talks: 2023

- Adventures in Thread-per-Core Async with Redpanda and Seastar
	- P99 CONF 2023
	- Travis Downs
	- https://www.youtube.com/watch?v=pOIoeFuIUKQ
- An Introduction to C++ Coroutines Through a Thread Scheduling Demonstration
	- CppNow 2023 
	- Dian-Lun Lin
	- https://www.youtube.com/watch?v=kIPzED3VD3w
  - https://github.com/boostcon/cppnow_presentations_2023/blob/main/cppnow_slides/An_Introduction_to_Cpp_Coroutines_Through_a_Thread_Scheduling_Demonstration.pdf
- Appreciating C++ Coroutines in Forty Minutes
	- code::dive 2023
	- Andrzej Krzemieński
	- https://www.youtube.com/watch?v=ZSkign_3Hp4
- C++ Coroutine Intuition
	- CppNow 2023
	- Roi Barkan
	- https://www.youtube.com/watch?v=NNqVt73OsfI
	- https://github.com/boostcon/cppnow_presentations_2023/blob/main/cppnow_slides/Coroutine%20Intuition.pdf
- Implementing a C++ Coroutine Task from Scratch
	- ACCU 2023 
	- Dietmar Kühl
	- https://www.youtube.com/watch?v=Npiw4cYElng
	- https://github.com/dietmarkuehl/co_await-all-the-things

## Talks: 2022

- Asynchronous I/O (io_uring) and Coroutines for Smooth Data Streaming
	- ACCU 2022; Björn Fahller
	- https://www.youtube.com/watch?v=54oGgmMAUNk
	- https://speakerdeck.com/rollbear/o-and-coroutines-for-smooth-data-streaming-2067ad42-9d0b-40ee-964e-bcca3f9e1e04
- C++ Coroutines, from Scratch
	- Phil Nash
	- https://levelofindirection.com/refs/coroutines
	- CppNow 2022
		- part 1: https://www.youtube.com/watch?v=k-wnxH96wEY
		- part 2: https://www.youtube.com/watch?v=jlMoZwgan9c
	- MUC++ 2022
		- https://www.youtube.com/watch?v=E8tu2jQXyZo
- C++20’s Coroutines for Beginners
	- CppCon 2022; Andreas Fertig
	- https://www.youtube.com/watch?v=8sEe-4tig_A
- Coroutines - C++ vs Rust
	- ACCU 2022; Jonathan Müller
	- https://www.youtube.com/watch?v=aa43fYHgnfo
- Deciphering Coroutines - A Visual Approach
	- Andreas Weis
	- CppCon 2022
		- https://www.youtube.com/watch?v=J7fYddslH0Q
	- MUC++ 2022
		- https://www.youtube.com/watch?v=EErCf6Elq0c
- How to Use C++20 Coroutines for Networking
	- ACCU 2022; Jim Pascoe
	- https://www.youtube.com/watch?v=ZNttI_WswMU
	- https://jamespascoe.github.io/accu2022/
	- https://github.com/jamespascoe/accu2022-example-code
- Powerful Data Processing Pipelines with C++20 Coroutines
	- ACCU 2022; Andreas Weis
	- https://www.youtube.com/watch?v=KhGmOI478so
- Understanding C++ Coroutines by Example
	- C++ on Sea 2022; Pavel Novikov
	- Part 1: https://www.youtube.com/watch?v=tj0URCY_A1s
	- Part 2: Generators: https://www.youtube.com/watch?v=9p7obE9KRoU

## Talks: 2021

- Asynchronous I/O and coroutines for smooth data streaming
	- NDC TechTown 2021; Björn Fahller
	- https://www.youtube.com/watch?v=uPJFj3b8RN0
	- https://speakerdeck.com/rollbear/o-and-coroutines-for-smooth-data-streaming
- Automatically Process Your Operations in Bulk With Coroutines
	- CppCon 2021; Francesco Zoffoli
	- https://www.youtube.com/watch?v=3R_Z5RO1AH4
	- https://github.com/MakersF/cppcon-2021-corobatch
	- corobatch: makes batching operations easy by transforming your single-item code to perform batched operations thanks to coroutines
		- https://github.com/MakersF/corobatch
- Combining Co-Routines and Functions into a Job System
	- CppCon 2021; Helmut Hlavacs
	- https://www.youtube.com/watch?v=XtFWxwDX7D4
- Converting a State Machine to a C++ 20 Coroutine
	- CppNow 2021; Steve Downey
	- https://www.youtube.com/watch?v=Z8jHi9Cs6Ug
	- https://cppnow.digital-medium.co.uk/wp-content/uploads/2021/04/convert-state-machine-coroutine-slides-1.pdf
- C++20 coroutines as an API principle
	- Meeting C++ 2021; Marc Mutz
	- https://www.youtube.com/watch?v=tvdwYwTyrig
	- https://meetingcpp.com/mcpp/slides/2021/noi9766.pdf
- From Problem to Coroutine: Reducing I/O Latency
	- CppCon 2021; Cheinan Marks
	- https://www.youtube.com/watch?v=N__eTyrLAF0
- How to start using coroutines
	- NDC TechTown 2021; Mikhail Svetkin
	- https://www.youtube.com/watch?v=6AIYIf5Vr18
- Implementing Generators with C++20 Coroutines
	- 2021; Sy Brand
	- https://www.youtube.com/watch?v=D0snE2-BOwM
	- generator: Single-header, ranges-compatible generator type built with C++20 coroutines.
		- https://github.com/TartanLlama/generator/
- Understanding C++ Coroutines by Example
	- C++ London 2021; Pavel Novikov
	- https://www.youtube.com/watch?v=7sKUAyWXNHA
	- Slides: https://toughengineer.github.io/talks/C++%20Russia%202020%20Moscow/
- Using Coroutines to Implement C++ Exceptions for Freestanding Environments
	- CppCon 2021; Eyal Zedaka
	- https://www.youtube.com/watch?v=TsXYqnUXrwM
	- https://github.com/eyalz800/zpp_throwing

## Talks: 2020

- 40 Years Of Evolution from Functions to Coroutines
	- CppCon 2020; Rainer Grimm
	- https://www.youtube.com/watch?v=jd6P9X8l2bY
	- <https://github.com/CppCon/CppCon2020/tree/main/Presentations/from_functions_to_coroutines_>
- Building a Coroutine based Job System without Standard Library
	- CppCon 2020; Tanki Zhang
	- https://www.youtube.com/watch?v=KWi793v5uA8
	- https://github.com/CppCon/CppCon2020/tree/main/Presentations/building_a_coroutine_based_job_system_without_standard_library
	- https://github.com/tankiJong/cpp-coroutine-job-system
- Corobatch - Batch operations, simply, with coroutines
	- C++ London, May 2020; Francesco Zoffoli
	- https://www.youtube.com/watch?v=vzi0lTVyb-g
	- Corobatch: makes batching operations easy by transforming your single-item code to perform batched operations thanks to coroutines
		- https://github.com/MakersF/corobatch

## Talks: 2019

- code::dive 2019 - C++20 Coroutines: Introduction
	- Marcin Grzebieluch
	- https://www.youtube.com/watch?v=vDA925C55F0
	- https://codedive.pl/index/speaker/name/marcin-grzebieluch
- code::dive 2019 - C++20 Coroutines: Asynchronity reimagined
	- Miłosz Warzecha
	- https://www.youtube.com/watch?v=FeUOKwLLQe0
	- https://codedive.pl/index/speaker/name/milosz-warzecha
- code::dive 2019 - C++20 Coroutines: What's next?
	- Dawid Pilarski
	- https://www.youtube.com/watch?v=vNL9UFnyQJU
	- https://codedive.pl/index/speaker/name/dawid-pilarski
- Exploring C++20 Coroutines
	- C/C++ Dublin User Group 2019; Justin Durkan
	- https://www.youtube.com/watch?v=RhXaKOe3JZM
	- https://drive.google.com/file/d/1sHtERPE4tgn2R4QeAAN-TlSD_gd9CE3d/view
- Structured Concurrency: Writing Safer Concurrent Code with Coroutines and Algorithms
	- CppCon 2019; Lewis Baker
	- https://www.youtube.com/watch?v=1Wy5sq3s2rg
- 2019 GNU Tools Cauldron: Iain Sandoe - C++20 Coroutines in GCC
	- https://gcc.gnu.org/wiki/cauldron2019#cauldron2019talks.c_coroutines_function_and_implementation_in_GCC
	- https://gcc.gnu.org/wiki/cauldron2019talks?action=AttachFile&do=view&target=Coroutine-Cauldron-2019.pdf
	- https://www.youtube.com/watch?v=5NybFJ6O7T0&list=PL_GiHdX17Wtx2Bu1O_bREetZZv4moIaRi&index=5
- 2019 Adi Shavit - Generators, Coroutines and Other Brain Unrolling Sweetness
	- NDC TechTown: https://www.youtube.com/watch?v=CwCJBpB7Z5w
	- CppCon: https://www.youtube.com/watch?v=qYHDERleSL8
	- CoreHard Autumn: https://www.youtube.com/watch?v=qjQBAgsj9CI
	- code::dive 2019
		- https://www.youtube.com/watch?v=ahorllPz5rE
		- https://codedive.pl/index/speaker/name/adi-shavit
- 2019 Core C++: Yehezkel Bernat - Coroutines - the future of future (and more)
	- https://www.youtube.com/watch?v=1tQfcPnHeRY
	- https://github.com/YehezkelShB/CoreCpp2019-Coroutines
- 2019 C++ Korea Facebook Group: Park Dong Ha - Exploring the C++ Coroutine: Approach, Compiler, and Issues
	- https://github.com/luncliff/coroutine/wiki/Exploring-the-Cpp-Coroutine

## Talks: 2018

- 2018 Meeting C++: Andreas Reischuck - Coroutine TS a new way of thinking
	- https://www.youtube.com/watch?v=RL5oYUl5548
	- https://github.com/arBmind/2018-cogen-en
- 2018 CppCon: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
	- https://www.youtube.com/watch?v=j9tlJAqMV7U
- 2018 LLVM Developers’ Meeting: J. McCall “Coroutine Representations and ABIs in LLVM”
	- https://www.youtube.com/watch?v=wyAbV8AM9PM
- 2018 Core C++: Yehezkel Bernat - Coroutines - Back to the Future
	- (Hebrew) https://www.youtube.com/watch?v=eZrhz9v1ApE
	- (English) https://corecppil.github.io/Meetups/2018-09-17_Sweet-C++/Coroutines.pdf

## Talks: 2017

- 2017 CppCon: Anthony Williams “Concurrency, Parallelism and Coroutines” - https://www.youtube.com/watch?v=JvHZ_OECOFU
- 2017 CppCon: Gor Nishanov “Naked coroutines live (with networking)” - https://www.youtube.com/watch?v=UL3TtTgt3oU
- 2017 CppCon: Toby Allsopp “Coroutines: what can't they do?” - https://www.youtube.com/watch?v=mlP1MKP8d_Q
- 2017 Pacific++: Toby Allsopp "An Introduction to the Proposed Coroutine Support for C++"
	- https://www.youtube.com/watch?v=nWuXubffryo

## Talks: 2016

- 2016 await/yield: C++ coroutines - Zbigniew Skowron - 30 November, 2016 - http://cpp.mimuw.edu.pl/files/await-yield-c++-coroutines.pdf
- 2016 CppCon: Gor Nishanov “C++ Coroutines: Under the covers" - https://www.youtube.com/watch?v=8C8NnE1Dg4A
- 2016 CppCon: James McNellis “Introduction to C++ Coroutines" - https://www.youtube.com/watch?v=ZTqHjjm86Bw
- 2016 LLVM Developers’ Meeting: G. Nishanov “LLVM Coroutines” - https://www.youtube.com/watch?v=Ztr8QvMhqmQ

## Talks: 2015

- 2015 C++Now - Gor Nishanov: C++17 coroutines for app and library developers - https://www.youtube.com/watch?v=proxLbvHGEQ
- 2015 CppCon: Gor Nishanov “C++ Coroutines - a negative overhead abstraction" - https://www.youtube.com/watch?v=_fu0gx-xseY
- 2015 Meeting C++: An Introduction to C++ Coroutines - James McNellis - https://www.youtube.com/watch?v=YYtzQ355_Co