Article View: be.comp.programming
Article #10992Re: oproep aan de programmeurs:wat moet ik kiezen ?
From: Frans Bouma
Date: Wed, 20 Feb 2002 12:44
Date: Wed, 20 Feb 2002 12:44
44 lines
3926 bytes
3926 bytes
"Sjoerd Schreuder" <sa_schreuder@wanadoo.nl> wrote in message news:3C738757.357F8C3C@wanadoo.nl...
> Frans Bouma wrote:
> > "Sjoerd Schreuder" <sa_schreuder@wanadoo.nl> wrote in message news:3C72C0C2.2CB31695@wanadoo.nl...
> > > C++ is een taal die ontworpen is om te performen, en om optimaliseerbaar
> > > te zijn.
> >
> > dat laatste lijkt me wat uit de lucht gegrepen, omdat C++ een stuk
> > minder te optimaliseren is dan bv C.
>
> Waar baseer je dat op?
op de tijd die het gekost heeft om de C++ compilers
code te laten genereren die up to par is met C compilers.
> De C constructies zijn in C++ net zo goed te optimaliseren als in C.
> De extra constructies die C++ toevoegt, mist C. Maar als je die niet
> gebruikt, betaal je ook niet in performance ervoor.
dat klopt.
> Verder is C++ op minstens 1 ding in de praktijk beter optimaliseerbaar
> dan C, hetgeen bewezen wordt door het feit dat std::sort in de praktijk
> sneller is dan qsort.
dat kan aan de C-runtime implementatie liggen van qsort natuurlijk.
> 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?
C++ moet worden geconverteerd van een OO approach naar een procedural
approach om optimaal op assembler te kunnen worden afgebeeld, immers
de CPU is procedural. Tijdverlies in C++ code komt niet door het
compileren van 1 big-mamma class met alle methods, maar door het
optimaliseren van constructor/destructor trees (dus object creatie
in method A, waarbij onderwater meerdere objects worden gecreeerd etc).
Je hebt dus bij pure C++ code een extra optimalisatiestap nodig om
de code net zo snel, zoniet sneller, te maken dan pure C, omdat
men bij pure C het veelal al heeft uitgeprogrammeerd zoals een
processor het logischerwijze zou uitvoeren. Dat is bij C++ niet
altijd het geval.
FB
Technical Details
Message-ID:
<3c739b38$0$212$e4fe514c@dreader4.news.xs4all.nl>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!128.230.129.106!news.maxwell.syr.edu!transit.news.xs4all.nl!rhinewceros.xs4all.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>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 04:44:52 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!128.230.129.106!news.maxwell.syr.edu!transit.news.xs4all.nl!rhinewceros.xs4all.nl!not-for-mail Reply-To: "Frans Bouma" <perseus@xs4all.nl> From: "Frans Bouma" <perseus@xs4all.nl> Newsgroups: be.comp.programming,nl.comp.programmeren 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> Subject: Re: oproep aan de programmeurs:wat moet ik kiezen ? Date: Wed, 20 Feb 2002 13:44:24 +0100 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Lines: 48 Message-ID: <3c739b38$0$212$e4fe514c@dreader4.news.xs4all.nl> NNTP-Posting-Host: 213.84.90.73 X-Trace: 1014209336 dreader4.news.xs4all.nl 212 213.84.90.73