🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #10918

Re: oproep aan de programmeurs:wat moet ik kiezen ?

#10918
From: Sjoerd Schreuder
Date: Wed, 20 Feb 2002 19:43
49 lines
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-mail
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>

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