"Helge Bjørkhaug" <snutten@techie.online.no> wrote in message
news:G_rK6.259$P2.179148288@news.telia.no...
> "Tomas Christiansen" <toc@blikroer.dk.removethis> skrev i melding
> news:dxrK6.21$qY.2054@news.get2net.dk...
> > Niels skrev:
> > > Variant variablen er betydeligt langsommer en strenge,
> > > så brug Ucase$() det giver en bedre performance.
> >
> > Jeg kom til at tænke på hvor stor forskel der mon egentlig er på UCase
og
> > UCase$ mht. performance, og forsøgte mig med en simpel test:
> >
> > For i = 1 To 1000000
> > s2 = s1 'TestA
> > s2 = UCase$(s1) 'TestB
> > s2 = UCase(s1) 'TestC
> > Next i
> >
> > Først kørte jeg med linien TestA aktiveret (dvs. at de to øvrige linier
> > TestB og TestC var kommenteret ud) og kom til det resultate at det tog
320
> > ms.
> > TestB tog 1056 ms og TestC tog 1205 ms.
> >
> > Hvis vi antager at differencen mellem tiden TestB - TestA er den tid som
> det
> > tog at udføre UCase$ præcis 1000000 gange (TestA er jo den tid det tager
> at
> > foretage en strengtildeling og tælle i op præcis 1000000 gange), kan vi
> > bruge tiderne:
> >
> > TestB - TestA = 736 ms
> > TestC - TestA = 885 ms
> >
> > som udtryk for hvor meget overhead der er ved at bruge UCase frem for
> > UCase$.
> >
> > Med andre ord er UCase$ (100 - 736 / 885 * 100) = 16,8 % hurtigere end
> UCase
> > i ovennævnte test.
> >
> > Så kan man selv fundere over om det er værd at "gå efter".
>
> Ja, tidsforskjellen på hver "loop" skulle da være 0,0001486 ms
> Og det skulle vel ikke være veldig plagsomt
> _Men_, teorien om at Ucase$ er raskere, er helt riktig!
> Og man bør tilstrebe at skrive så optimale programmer som mulig,
> selv om "effekten" av det blir mindre og mindre i takt med raskere og
> raskere PC'er.
>
> --
> Snutten
Argumentet med at, hurtiger maskiner får "effekten" til at ha' mindre
betydning. Mener jeg er forkert, da størrelsen på programmer også stiger
og mængden af data der skal behandles også stiger.
Hvis man arbejder med systemer der skal kunne skaleres, vil man også
opdage at man ikke (altid) kan løse skalerings problemet bare ved at
købe en hurtigere maskine. Et program/system der skal kunne skaleres
kræver et godt design og optimerede programmer.
- Niels G.