Тёмный

Implementing a C++ Coroutine Task from Scratch - Dietmar Kühl - ACCU 2023 

ACCU Conference
Подписаться 15 тыс.
Просмотров 2,4 тыс.
50% 1

ACCU Membership: tinyurl.com/ydnfkcyn
Sponsored By think-cell: www.think-cell.com/accu
accu.org
Implementing a C++ Coroutine Task from Scratch - Dietmar Kühl - ACCU 2023
Slides: accu.org/conf-previous/accu2023/
With coroutines being readily available and supported in all mainstream compiler implementations, more use cases than simple generators and tasks are entirely within reach. As any operation which may use I/O or execute on a different context is effectively asynchronous, the question then becomes whether all of these should be co_awaited. Of course, the implication is that essentially everything which isn't just a computation should then be co_awaited.
This presentation discusses some experiments of making things optionally asynchronous. It talks about the design choices encountered, some of the implementation details, and some performance results when making implementations optionally asynchronous.
The presentation is targeted at experienced C++ developers.
---
Dietmar Kühl
Dietmar Kühl is a senior software developer at Bloomberg L.P. working on the data distribution environment used both internally and by enterprise installations at clients. Before joining Bloomberg he has done mainly consulting for software projects in the finance area. He is a regular attendee of the ANSI/ISO C++standards committee, presents at conferences, and he used to be a moderator of the newsgroup comp.lang.c++.moderated. He frequently answers questions on Stackoverflow.
---
www.accuconference.org/
RU-vid Videos Filmed, Edited & Optimised by Digital Medium: events.digital-medium.co.uk
#accuconf #programming #coroutines

Наука

Опубликовано:

 

6 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 7   
@nyyakko
@nyyakko 11 месяцев назад
finally! a good talk on coroutines where the speaker not only presents something *actually* useful you're able to achieve using coroutines, but also implements the thing live. bravo.
@ACCUConf
@ACCUConf 11 месяцев назад
Very pleased to hear that you found the presentation of much use.
@PaulSkeptic
@PaulSkeptic 11 месяцев назад
16:05 you also have to implement `return_void()`/`return_value()` method additionally to the four on the slide
@theintjengineer
@theintjengineer 11 месяцев назад
Fascinating talk! And having read Lewis Baker's Blog Posts on the subject, which are by far the best out there, helped a lot. Thanks, Mr. Kühl.
@Roibarkan
@Roibarkan 11 месяцев назад
Very good talk, quite heroic! Having await_suspend() return another coroutine_handle is typically called ‘symmetric transfer’. Jonathan Müller has a good coroutine talk (comparing rust and c++) which describes the motivation in detail.
@ACCUConf
@ACCUConf 8 месяцев назад
Thank you so much for providing this information.
@PaulSkeptic
@PaulSkeptic 11 месяцев назад
10:14 the slide is wrong: `final_suspend` happens outside of `try`/`catch` block
Далее
Applied C++20 Coroutines - Jim Pascoe - ACCU 2023
1:15:43
C++ Coroutine Intuition - Roi Barkan - CppNow 2023
1:30:15
Coroutines Beyond Concurrency by Alex Semin
39:35
Просмотров 20 тыс.
Delivering Safe C++ - Bjarne Stroustrup - CppCon 2023
1:29:16
Самый дорогой кабель Apple
0:37
Просмотров 202 тыс.
ИГРОВОВЫЙ НОУТ ASUS ЗА 57 тысяч
25:33
Так ли Хорош Founders Edition RTX 4080 ?
13:00
Acer Predator Тараканьи Бега!
1:00
Просмотров 155 тыс.