Skip to content

Instantly share code, notes, and snippets.

@MattPD
Last active March 15, 2025 20:25

Revisions

  1. MattPD revised this gist Mar 15, 2025. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -263,6 +263,10 @@ _(draft; work in progress)_
    - 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
  2. MattPD revised this gist Mar 7, 2025. 1 changed file with 9 additions and 0 deletions.
    9 changes: 9 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -78,6 +78,15 @@ _(draft; work in progress)_

    ## 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
  3. MattPD revised this gist Mar 5, 2025. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -228,6 +228,10 @@ _(draft; work in progress)_
    - 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
  4. MattPD revised this gist Jan 5, 2025. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -201,6 +201,11 @@ _(draft; work in progress)_

    ## 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
  5. MattPD revised this gist Nov 25, 2024. 1 changed file with 6 additions and 3 deletions.
    9 changes: 6 additions & 3 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -202,10 +202,13 @@ _(draft; work in progress)_
    ## Talks: 2024

    - C++ Coroutines and Structured Concurrency in Practice
    - C++Now 2024
    - Dmitry Prokoptsev
    - https://www.youtube.com/watch?v=sWeOIS14Myg
    - https://github.com/boostcon/cppnow_presentations_2024/blob/main/Presentations/Coroutines_and_Structured_Concurrency_in_Practice.pdf
    - 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
  6. MattPD revised this gist Oct 14, 2024. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -211,6 +211,10 @@ _(draft; work in progress)_
    - 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
  7. MattPD revised this gist Aug 20, 2024. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -216,6 +216,10 @@ _(draft; work in progress)_
    - 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
    - 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á
  8. MattPD revised this gist Aug 17, 2024. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -216,6 +216,12 @@ _(draft; work in progress)_
    - 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
    - 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

  9. MattPD revised this gist Aug 2, 2024. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -158,7 +158,8 @@ _(draft; work in progress)_
    - 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/master/folly/experimental/coro
    - 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
  10. MattPD revised this gist Aug 2, 2024. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -146,12 +146,17 @@ _(draft; work in progress)_

    # Software

    - CppCoro - A coroutine library for C++
    - https://github.com/lewissbaker/cppcoro
    - 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/master/folly/experimental/coro
    - https://cppcast.com/2019/03/kirk-shoop/
    @@ -162,9 +167,6 @@ _(draft; work in progress)_
    - 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/
    - 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

    ## Software: Examples

  11. MattPD revised this gist Aug 2, 2024. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -150,6 +150,8 @@ _(draft; work in progress)_
    - https://github.com/lewissbaker/cppcoro
    - 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
    - folly::coro - a developer-friendly asynchronous C++ framework based on Coroutines TS
    - https://github.com/facebook/folly/tree/master/folly/experimental/coro
    - https://cppcast.com/2019/03/kirk-shoop/
  12. MattPD revised this gist Aug 2, 2024. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -196,6 +196,11 @@ _(draft; work in progress)_

    ## Talks: 2024

    - C++ Coroutines and Structured Concurrency in Practice
    - C++Now 2024
    - Dmitry Prokoptsev
    - https://www.youtube.com/watch?v=sWeOIS14Myg
    - https://github.com/boostcon/cppnow_presentations_2024/blob/main/Presentations/Coroutines_and_Structured_Concurrency_in_Practice.pdf
    - C++ Coroutines at Scale - Implementation Choices at Google
    - C++Now 2024
    - Aaron Jacobs
  13. MattPD revised this gist Aug 1, 2024. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -201,6 +201,11 @@ _(draft; work in progress)_
    - Aaron Jacobs
    - https://www.youtube.com/watch?v=k-A12dpMYHo
    - https://github.com/boostcon/cppnow_presentations_2024/blob/main/Presentations/Coroutines_at_scale.pdf
    - 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

    ## Talks: 2023

  14. MattPD revised this gist Jul 11, 2024. 1 changed file with 9 additions and 1 deletion.
    10 changes: 9 additions & 1 deletion cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@ _(draft; work in progress)_

    - [Readings](#readings): [Research](#readings-research)
    - [Software](#software): [Examples](#software-examples)
    - [Talks](#talks): [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)
    - [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)

    ---

    @@ -194,6 +194,14 @@ _(draft; work in progress)_

    # Talks

    ## Talks: 2024

    - 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

    ## Talks: 2023

    - Adventures in Thread-per-Core Async with Redpanda and Seastar
  15. MattPD revised this gist Mar 18, 2024. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -31,6 +31,10 @@ _(draft; work in progress)_
    - `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
  16. MattPD revised this gist Jan 22, 2024. 1 changed file with 9 additions and 0 deletions.
    9 changes: 9 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -74,6 +74,15 @@ _(draft; work in progress)_

    ## Readings: Research

    ### 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
  17. MattPD revised this gist Nov 9, 2023. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -46,6 +46,9 @@ _(draft; work in progress)_
    - 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
  18. MattPD revised this gist Oct 30, 2023. 1 changed file with 10 additions and 0 deletions.
    10 changes: 10 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -184,6 +184,16 @@ _(draft; work in progress)_
    - 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
    - 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
  19. MattPD revised this gist Oct 27, 2023. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -180,6 +180,10 @@ _(draft; work in progress)_

    ## Talks: 2023

    - Adventures in Thread-per-Core Async with Redpanda and Seastar
    - P99 CONF 2023
    - Travis Downs
    - https://www.youtube.com/watch?v=pOIoeFuIUKQ
    - Implementing a C++ Coroutine Task from Scratch
    - ACCU 2023
    - Dietmar Kühl
  20. MattPD revised this gist Aug 11, 2023. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -73,6 +73,10 @@ _(draft; work in progress)_

    ### 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
  21. MattPD revised this gist Aug 11, 2023. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -80,6 +80,14 @@ _(draft; work in progress)_
    - 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
  22. MattPD revised this gist Aug 11, 2023. 1 changed file with 9 additions and 1 deletion.
    10 changes: 9 additions & 1 deletion cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@ _(draft; work in progress)_

    - [Readings](#readings): [Research](#readings-research)
    - [Software](#software): [Examples](#software-examples)
    - [Talks](#talks): [2022](#talks-2022), [2021](#talks-2021), [2020](#talks-2020), [2019](#talks-2019), [2018](#talks-2018), [2017](#talks-2017), [2016](#talks-2016), [2015](#talks-2015)
    - [Talks](#talks): [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)

    ---

    @@ -166,6 +166,14 @@ _(draft; work in progress)_

    # Talks

    ## Talks: 2023

    - 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
  23. MattPD revised this gist Dec 24, 2022. 1 changed file with 7 additions and 3 deletions.
    10 changes: 7 additions & 3 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -173,9 +173,13 @@ _(draft; work in progress)_
    - 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
    - CppNow 2022; Phil Nash
    - part 1: https://www.youtube.com/watch?v=k-wnxH96wEY
    - part 2: https://www.youtube.com/watch?v=jlMoZwgan9c
    - 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
  24. MattPD revised this gist Dec 4, 2022. 1 changed file with 5 additions and 2 deletions.
    7 changes: 5 additions & 2 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -183,8 +183,11 @@ _(draft; work in progress)_
    - ACCU 2022; Jonathan Müller
    - https://www.youtube.com/watch?v=aa43fYHgnfo
    - Deciphering Coroutines - A Visual Approach
    - CppCon 2022; Andreas Weis
    - https://www.youtube.com/watch?v=J7fYddslH0Q
    - 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
  25. MattPD revised this gist Nov 14, 2022. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -20,8 +20,12 @@ _(draft; work in progress)_
    - 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
    - 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
  26. MattPD revised this gist Oct 26, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -173,7 +173,7 @@ _(draft; work in progress)_
    - part 1: https://www.youtube.com/watch?v=k-wnxH96wEY
    - part 2: https://www.youtube.com/watch?v=jlMoZwgan9c
    - C++20’s Coroutines for Beginners
    - CppCon 2022; - Andreas Fertig
    - CppCon 2022; Andreas Fertig
    - https://www.youtube.com/watch?v=8sEe-4tig_A
    - Coroutines - C++ vs Rust
    - ACCU 2022; Jonathan Müller
  27. MattPD revised this gist Oct 26, 2022. 1 changed file with 6 additions and 6 deletions.
    12 changes: 6 additions & 6 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -172,9 +172,15 @@ _(draft; work in progress)_
    - CppNow 2022; Phil Nash
    - part 1: https://www.youtube.com/watch?v=k-wnxH96wEY
    - part 2: https://www.youtube.com/watch?v=jlMoZwgan9c
    - 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
    - CppCon 2022; Andreas Weis
    - https://www.youtube.com/watch?v=J7fYddslH0Q
    - How to Use C++20 Coroutines for Networking
    - ACCU 2022; Jim Pascoe
    - https://www.youtube.com/watch?v=ZNttI_WswMU
    @@ -242,17 +248,11 @@ _(draft; work in progress)_
    - 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
    - C++20’s Coroutines for Beginners
    - CppCon 2022; - Andreas Fertig
    - https://www.youtube.com/watch?v=8sEe-4tig_A
    - 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
    - Deciphering Coroutines - A Visual Approach
    - CppCon 2022; Andreas Weis
    - https://www.youtube.com/watch?v=J7fYddslH0Q

    ## Talks: 2019

  28. MattPD revised this gist Oct 26, 2022. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -242,11 +242,17 @@ _(draft; work in progress)_
    - 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
    - C++20’s Coroutines for Beginners
    - CppCon 2022; - Andreas Fertig
    - https://www.youtube.com/watch?v=8sEe-4tig_A
    - 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
    - Deciphering Coroutines - A Visual Approach
    - CppCon 2022; Andreas Weis
    - https://www.youtube.com/watch?v=J7fYddslH0Q

    ## Talks: 2019

  29. MattPD revised this gist Sep 4, 2022. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -128,6 +128,9 @@ _(draft; work in progress)_
    - 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/
    - 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

    ## Software: Examples

  30. MattPD revised this gist Sep 2, 2022. 1 changed file with 9 additions and 0 deletions.
    9 changes: 9 additions & 0 deletions cpp.std.coroutines.draft.md
    Original file line number Diff line number Diff line change
    @@ -67,6 +67,15 @@ _(draft; work in progress)_

    ## Readings: Research

    ### Readings: Research: 2022

    - 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: 2020

    - CoroBase: Coroutine-Oriented Main-Memory Database Engine