🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310170

Re: Coroutines w (GNU) C

#310170
From: Maciek Godek
Date: Tue, 10 Mar 2020 08:22
30 lines
3974 bytes
W dniu poniedziałek, 9 marca 2020 22:00:49 UTC+1 użytkownik heby napisał:
> On 09/03/2020 21:20, Maciek Godek wrote:
> > A użycie boost::coroutines dokonuje alokacji, czy nie?
> 
> Nie musi. Czy dokonuje nie wiem, pewnie tak.

I nadal uważasz, że unikanie C++ na rzecz C jest kwestią religii?

Sam widzisz, że - nawet jeśli mechanizmy, które oferuje C++ byłyby wygodne
(a nie są), to tworzą one barierę dla zrozumienia systemu. Model operacji C jest stosunkowo prosty, i każdy kompetentny programista powinien go rozumieć.
Natomiast model C++a jest skomplikowany, i ta komplikacja ma w dużej mierze przypadkowy charakter.

Zadaję Ci proste, fundamentalne pytanie: czy boost::coroutines, do użycia którego niedawno mnie zachęcałeś, dokonuje alokacji. Ty nie dość, że nie znasz odpowiedzi, to jeszcze nie potrafisz tego łatwo znaleźć w dokumentacji.

Wcale mnie to nie dziwi. Jeżeli uważasz, że całościowe rozumienie systemu, który się rozwija, jest "kwestią religii", niech będzie i tak. Moim zdaniem jest to raczej kwestia rozsądku i pragmatyzmu.

> Ale nie ma takiego 
> obowiązku, w końcu stos korutyny możesz mieć statyczny gdzieś obok, 
> albo, wzorem apliakcji embedded, możesz mieć pool allokatora na te stosy 
> i znany rozmiar.

Każda STLowa kolekcja daje Ci możliwość dostarczenia Twojego własnego alokatora.
Dlatego rozumując po Twojemu, powinieneś raczej zachęcać embedowców do tego, żeby grzęzli w bagnie debugowania ich własnych customowych alokatorów i hulali sobie z wesołymi alokacjami STLowych kolekcji.

> Więc możesz sobie napisać godek::coroutine i tam może 
> nie być allokacji ale stos, czemu nie.

Te Twoje rady są coraz lepsze. To, skoro "mogę sobie napisać" (bo to takie łatwe?), może pokaż mi, jak taka implementacja mogłaby wyglądać.

Chętnie się dowiem.
Technical Details
Message-ID: <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0kq6d$v6h$1@dont-email.me> <748c5d16-f4a8-43a0-8a56-bea0800e1e04@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:3671:: with SMTP id n46mr18195413qtb.33.1583828576907;        Tue, 10 Mar 2020 01:22:56 -0700 (PDT)
X-Received: by 2002:a81:9d8:: with SMTP id 207mr22324963ywj.101.1583828576591; Tue, 10 Mar 2020 01:22:56 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Tue, 10 Mar 2020 01:22:56 -0700 (PDT)
In-Reply-To: <r46apv$q4c$1@dont-email.me>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=213.192.68.153; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0kq6d$v6h$1@dont-email.me> <748c5d16-f4a8-43a0-8a56-bea0800e1e04@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com>
Subject: Re: Coroutines w (GNU) C
From: Maciek Godek <godek.maciek@gmail.com>
Injection-Date: Tue, 10 Mar 2020 08:22:56 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit