Article View: be.comp.programming
Article #10918Re: oproep aan de programmeurs:wat moet ik kiezen ?
From: Sjoerd Schreuder
Date: Wed, 20 Feb 2002 19:43
Date: Wed, 20 Feb 2002 19:43
49 lines
4085 bytes
4085 bytes
"Serve La." wrote: > > "Sjoerd Schreuder" <sa_schreuder@wanadoo.nl> wrote in message > news:3C738757.357F8C3C@wanadoo.nl... > > Maar laat ik het simpel houden: ik beweer dat C++ net zo optimaliseerbaar > > is als C. Jij zegt van niet. Kun je een tegenvoorbeeld geven waar een > > C++ compiler minder kan optimaliseren dan een C compiler? > > Ik weet er wel een. In het gebruik van polymorphing over meerdere functies. > > class B, C en D erven van A en je hebt een aantal functies void f1(A *a), > void f2(A *a), void fn(A *a). Hier krijg ik al mijn bedenkingen: C heeft geen inheritance, dus hoe kan een C compiler dat ooit optimaliseren? Hooguit kun je het nabouwen in C... > Het is voor een compiler heel moeilijk om daar tijdens compile time op te > optimaliseren en niet telkens die vtbl weer opnieuw te laden (bv). > In gewoon C zou je met een tag kunnen werken of zo, maar in ieder geval > kunnen dan wel al statisch alle codepaden achterhaald worden. In C++ kun je toch ook met zo'n tag werken? Overigens, als het statisch achterhaald kan worden, kun je in C++ met templates gaan werken. Templates geven ook de gelegenheid alles compile-time te optimaliseren. > Ik hoop dat ik een beetje duidelijk ben.....er is trouwens inmiddels > succesvol onderzoek gedaan naar het optimaliseren van polymorphing, het heet > type inference (misschien al van gehoord). De taal ML past het al toe in de > praktijk Meestal zijn die optimalisaties gebaseerd op full source analyses, want je moet wel kunnen afleiden wat alle mogelijke subtypen zijn. Helaas maakt het gebruikelijke C en C++ model dat heel lastig en zie je het nog nauwelijks. IBM's Visual Age heeft wel een afwijkend model (alle code in een database), maar ik heb er nog niet mee kunnen werken dus dat is puur 'van-horen-zeggen'. Maar goed om te weten dat er nog steeds onderzoek in die richting wordt gedaan. > Op deze link is meer te vinden (heel veel pagina's zijn wel weg, maar > sommige werken nog) > http://cui.unige.ch/OSG/research/Hop/types.html Sjoerd Schreuder
Technical Details
Message-ID:
<3C73FC73.78F923A1@wanadoo.nl>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news-x2.support.nl!amsnews01.chello.com!trev!zonnet-feed!news2.euro.net!news.euronet.nl!not-for-mailReferences:
<uXu88.122912$rt4.11582@afrodite.telenet-ops.be> <1013109746.799866@seven.kulnet.kuleuven.ac.be> <3C63C40B.BA1DDAA9@iae.nl> <1013181054.194148@seven.kulnet.kuleuven.ac.be> <3C63EE8A.DEE29046@iae.nl> <1013187868.875791@seven.kulnet.kuleuven.ac.be> <3c6c35f1.5840688@newszilla.xs4all.nl> <1013742119.309832@seven.kulnet.kuleuven.ac.be> <3c6e35cf.1533535@newszilla.xs4all.nl> <1013895537.659605@seven.kulnet.kuleuven.ac.be> <3c6fefb8.1216829@newszilla.xs4all.nl> <1013973821.829929@seven.kulnet.kuleuven.ac.be> <%3Ub8.27957$ql6.2438153@zwoll1.home.nl> <1013994968.717889@seven.kulnet.kuleuven.ac.be> <3C706D11.C90F42C2@wanadoo.nl> <1014049007.567811@seven.kulnet.kuleuven.ac.be> <3C71356C.369677EC@wanadoo.nl> <1014138117.990176@seven.kulnet.kuleuven.ac.be> <3C72C0C2.2CB31695@wanadoo.nl> <3c7369ff$0$4576$e4fe514c@dreader3.news.xs4all.nl> <3C738757.357F8C3C@wanadoo.nl> <HqRc8.1823$Wm3.74875@zwoll1.home.nl>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: 107324,65d4c4d6a1e8dc39 X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,65d4c4d6a1e8dc39 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-02-20 11:43:51 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news-x2.support.nl!amsnews01.chello.com!trev!zonnet-feed!news2.euro.net!news.euronet.nl!not-for-mail From: Sjoerd Schreuder <sa_schreuder@wanadoo.nl> Newsgroups: be.comp.programming,nl.comp.programmeren Subject: Re: oproep aan de programmeurs:wat moet ik kiezen ? Date: Wed, 20 Feb 2002 20:43:47 +0100 Organization: Wanadoo NL Lines: 49 Message-ID: <3C73FC73.78F923A1@wanadoo.nl> References: <uXu88.122912$rt4.11582@afrodite.telenet-ops.be> <1013109746.799866@seven.kulnet.kuleuven.ac.be> <3C63C40B.BA1DDAA9@iae.nl> <1013181054.194148@seven.kulnet.kuleuven.ac.be> <3C63EE8A.DEE29046@iae.nl> <1013187868.875791@seven.kulnet.kuleuven.ac.be> <3c6c35f1.5840688@newszilla.xs4all.nl> <1013742119.309832@seven.kulnet.kuleuven.ac.be> <3c6e35cf.1533535@newszilla.xs4all.nl> <1013895537.659605@seven.kulnet.kuleuven.ac.be> <3c6fefb8.1216829@newszilla.xs4all.nl> <1013973821.829929@seven.kulnet.kuleuven.ac.be> <%3Ub8.27957$ql6.2438153@zwoll1.home.nl> <1013994968.717889@seven.kulnet.kuleuven.ac.be> <3C706D11.C90F42C2@wanadoo.nl> <1014049007.567811@seven.kulnet.kuleuven.ac.be> <3C71356C.369677EC@wanadoo.nl> <1014138117.990176@seven.kulnet.kuleuven.ac.be> <3C72C0C2.2CB31695@wanadoo.nl> <3c7369ff$0$4576$e4fe514c@dreader3.news.xs4all.nl> <3C738757.357F8C3C@wanadoo.nl> <HqRc8.1823$Wm3.74875@zwoll1.home.nl> NNTP-Posting-Host: 212.203.20.29 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: scavenger.euro.net 1014234230 47507 212.203.20.29 (20 Feb 2002 19:43:50 GMT) X-Complaints-To: abuse@wanadoo.nl NNTP-Posting-Date: Wed, 20 Feb 2002 19:43:50 +0000 (UTC) X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en