🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #4767

Re: Oefening in C++ (schaakbord)

#4767
From: Nicolas Barbier
Date: Fri, 11 Jul 2003 16:28
29 lines
2612 bytes
Oelewapperke wrote:

> (meting met "for i in 5 50 500 5000; do echo $i:; time ./chessboard $i 5
> > /dev/null; done")
> 
> numVelden       numStars        chessboard      chessboardoptimized
> 5               5               0.000           0.000
> 50              5               0.010           0.000
> 500             5               1.100           0.010
> 5000            5               <te lang>       0.080
> 50000           5               <te lang>       0.630
> 
> (dit is dus met compileroptimalisaties af op een heel modern systeem, maar
> compileroptimalisaties kunnen het probleem alleen maar uitstellen naar
> grotere aantallen op lineaire basis, terwijl deze routine exponentieel
> sneller is dan de vorige oplossing) (daarmee bedoel ik dat als je
> numVelden verdubbeld het gegeven programma er 4x langer over doet, terwijl
> mijn versie er slechts dubbel zo lang over zal doen).

Van numVelden ^ 2 naar numVelden is geen exponentiele verbetering, maar 
slechts een lineaire. Je vergeet ook mee te rekenen dat het uitschrijven 
van een string die dubbel zo lang is ook ongeveer dubbel zo lang gaat duren 
(constante overhead niet meegerekend), _als_ je ook iets nuttig met die 
string gaat doen. Bij het wegschrijven van een string naar /dev/null maakt 
het normaal gezien niet uit hoe groot de string is, dus dat is een fout in 
je benchmark. Maw de orde blijft gelijk.

-- 
Nicolas Barbier
Technical Details
Message-ID: <3f0ee5dd$0$6531$afc38c87@sisyphus.news.be.easynet.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!easynet-monga!easynet.net!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail
References: <be8qtj$ec3$1@reader08.wxs.nl> <be9cv4$m$1@reader08.wxs.nl> <2mYNa.9385$7h.12942@afrodite.telenet-ops.be> <seiPa.14411$7h.14326@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,c3467730e88beae5
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-07-11 09:32:01 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!easynet-monga!easynet.net!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail
Message-ID: <3f0ee5dd$0$6531$afc38c87@sisyphus.news.be.easynet.net>
From: Nicolas Barbier <anti@spam.invalid>
Subject: Re: Oefening in C++ (schaakbord)
Newsgroups: be.comp.programming
Date: Fri, 11 Jul 2003 18:28:31 +0200
References: <be8qtj$ec3$1@reader08.wxs.nl> <be9cv4$m$1@reader08.wxs.nl> <2mYNa.9385$7h.12942@afrodite.telenet-ops.be> <seiPa.14411$7h.14326@afrodite.telenet-ops.be>
User-Agent: KNode/0.6.1
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
Lines: 29
Organization: [ posted via Easynet Belgium ]
NNTP-Posting-Date: 11 Jul 2003 16:29:17 GMT
NNTP-Posting-Host: 213.193.183.56
X-Trace: 1057940957  6531 [::ffff:213.193.183.56]:33475
X-Complaints-To: abuse@be.easynet.net