This is the mail archive of the
mailing list for the GCC project.
Re: For which gcc release is going to be foreseen the support for the Coroutines TS extension?
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: gcc at gcc dot gnu dot org,Nathan Sidwell <nathan at acm dot org>,Iain Sandoe <idsandoe at googlemail dot com>,Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Tue, 20 Aug 2019 17:54:28 +0200
- Subject: Re: For which gcc release is going to be foreseen the support for the Coroutines TS extension?
- References: <CAFegzBQVDrywxU14-YTC5Jw2fxksyPmQcc0omMMWHOjv4firstname.lastname@example.org> <CAH6eHdQtY+ANHatqYugCZsY7vEj=kjowQqe8rseotWb8x50FzQ@mail.gmail.com> <email@example.com> <firstname.lastname@example.org> <email@example.com> <75F0CC8E-8255-4A0C-9D14-AA1A6349440D@googlemail.com> <firstname.lastname@example.org>
On August 20, 2019 5:19:33 PM GMT+02:00, Nathan Sidwell <email@example.com> wrote:
>On 7/26/19 6:03 AM, Iain Sandoe wrote:
>> Hello Sebastian,
>>> On 26 Jul 2019, at 10:19, Florian Weimer <firstname.lastname@example.org> wrote:
>>> C++ coroutines are stackless. I don't think any new low-level
>>> support will be needed.
>> correct, C++20 coroutines and threading mechanisms are orthogonal
>> facilities; one can use (IS C++20) coroutines on top of a threaded
>> or in a single-threaded environment.
>> Two places I see them as being a go-to facility in embedded systems
>> * co-operative multi-tasking UIs on single-threaded platforms.
>> * async I/O completion by continuations, rather than callbacks.
>There are cases where the overhead of threads is too expensive. For
>instance hiding (cache-missing) load latencies by doing other work
>waiting -- a context switch at that point is far too expensive.
But are coroutines so much lower latency (and a context switch does not involve cache misses on its own?). For doing useful work in this context CPU designers invented SMT...