Article View: pl.comp.lang.c
Article #310140Re: Coroutines w (GNU) C
From: M.M.
Date: Fri, 31 Jan 2020 20:09
Date: Fri, 31 Jan 2020 20:09
50 lines
3810 bytes
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-mailReferences:
<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