🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Coroutines w (GNU) C

#310140
From: M.M.
Date: Fri, 31 Jan 2020 20:09
50 lines
3810 bytes
On Friday, January 31, 2020 at 8:53:27 PM UTC+1, heby wrote:
> On 31/01/2020 20:43, M.M. wrote:
> > Uważam w ogóle że oddzielenie kodu C++ od kodu maszynowego tak bardzo
> > utrudnia optymalizację, że w praktyce uniemożliwia przeprowadzenie
> > pewnych optymalizacji.
> 
> Każdy kod pośredni daje gorsze wyniki niż kompilacja wprost 
> (teoretycznie). Każda kompilacja wprost jest trudniejsza niż kod pośredni.

Zgadzam się.


> Świat nie jest optymalny. Jest wystarczająco dobry.

Tego już nie wiem. Ale zazwyczaj każda optymalizacja jest optymalizacją
wielokryterialną, a jednym z kryteriów jest też czas napisania kompilatora, a
nie tylko jakość generowanego przez niego kodu.

 
> Kompilacja wprost przy obecnych językach to by była katastrofa ponieważ 
> złożoność frontendu i backendu u jest absurdalna. Relaksujemy nieco 
> jakość i znajdujemy jakiś punkt w rozsądnej odległości od optimum przy 
> okazji dostając unifikacje bardzo ciezkiego kodu kopilatora, 
> odpowiedzielnego za optymalizacje.

Tak, to bardzo rozsądne.


> 
> > Maszyna pośrednia by musiała wiedzieć coś o
> > kodzie C++, a to uniemożliwiłoby generowanie z innych języków do
> > maszyny pośredniej.
> 
> I maszyna na niektórych etapach ma specyficzne dla danej plaformy 
> konstrukcje. Przykładowo wysokopoziomowe drzewo C++ ma specyficzną 
> konstrukcję co pozwala na propagacje pewnych cech C/C++ niżej do 
> następnej warstwy:

Nie wiedziałem, to faktycznie poszerza możliwości optymalizacji kodu
wynikowego.


> https://gcc.gnu.org/onlinedocs/gccint/C-and-C_002b_002b-Trees.html#C-and-C_002b_002b-Trees
> 
> Im niżej tym mniej wiadomo o fronendzie a więcej o backendzie.

Nie znam zagadnienia, ale logika tak właśnie podpowiada.


Pozdrawiam
Technical Details
Message-ID: <3837dd85-51a3-4044-8223-4ede90979684@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!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> <r0k8i5$ifg$1@dont-email.me> <ce3f0b08-658f-4248-b82c-09f093a7f20c@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> <r0u1ac$1mhb$1@gioia.aioe.org> <r0vitt$i8e$2@dont-email.me> <r10lbv$hvd$1@gioia.aioe.org> <r11veh$bii$1@dont-email.me> <848b9155-7823-476f-ba34-bb0ffac9ec4d@googlegroups.com> <r120jk$i94$1@dont-email.me>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ae9:c10b:: with SMTP id z11mr12434445qki.157.1580501365367;        Fri, 31 Jan 2020 12:09:25 -0800 (PST)
X-Received: by 2002:a81:378e:: with SMTP id e136mr9429446ywa.261.1580501365110; Fri, 31 Jan 2020 12:09:25 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Fri, 31 Jan 2020 12:09:24 -0800 (PST)
In-Reply-To: <r120jk$i94$1@dont-email.me>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=178.37.229.117; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 178.37.229.117
References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0k8i5$ifg$1@dont-email.me> <ce3f0b08-658f-4248-b82c-09f093a7f20c@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> <r0u1ac$1mhb$1@gioia.aioe.org> <r0vitt$i8e$2@dont-email.me> <r10lbv$hvd$1@gioia.aioe.org> <r11veh$bii$1@dont-email.me> <848b9155-7823-476f-ba34-bb0ffac9ec4d@googlegroups.com> <r120jk$i94$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3837dd85-51a3-4044-8223-4ede90979684@googlegroups.com>
Subject: Re: Coroutines w (GNU) C
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Fri, 31 Jan 2020 20:09:25 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit