Author: Christophe Theron
Date: 20:54:10 03/16/01
Go up one level in this thread
On March 16, 2001 at 19:52:30, Tony Werten wrote: >On March 15, 2001 at 19:30:13, Olaf Jenkner wrote: > >>>>A look at the generated code shows some horrible things: >>>> >>>>Example: if(a[i]=x)or(a[i]=y)or(a[i]=z)then ... >>>> Delphi does not know that it can load the value >>>> of a[i] in a register only on once. >>>> >>>>I think many things could be done better without a great optimization. >>> >>>Or change the code to >>> >>>tmp:=a[i]; >>>if (tmp=x) or (tmp=y) or (tmp=z) then ... >>> >>>BTW the behavour of the array a[] is different depending if it's a global,local >>>or dynamic array. So is its speed. Global dynamic is fastest if the size of the >>>elements is a multiple of 32 bit. >>> >>>That's what I mean with you have to know the compiler. >>> >>>cheers, >>>Tony >>> >>>> >>>>OJe >> >>Why do I have to program around compiler weaknesses? >>Perhaps the variable tmp is not hold in a register. >>What I mean: In simple cases, as shown above, I wish >>a better behaviour of compilers. I know that there are >>compilers which are extremely optimizing to minimize >>RAM accesses or to shrink the code or to minimize the >>number of clock ticks. All of them I can't see when I >>look at the generated code of Delphi. It's a pity because >>I don't know much about C++ and have no experience in it. > >I'll have to agree with you that it would be nice if the compiler would see this >kind of stuff. But remember that it's made to work in general. Sometimes it's >about speed sometimes about size. ( I would like that switch in Delphi ) > >Because you are the one who knows what you want, you have to send the compiler >in the right direction. Learn some assembly and you'll find you can improve the >compiler even more because you know what it should do. > >But these things are not the most important in chessprogramming, the algoritmes >you use are. You can try a lot of things in C or Pascal, change them, and when >you finally decide to stick with it, that's the time you can start to optimize. > >Oh, and BTW, if you think your program is too slow, just say you go for >knowledge rather than speed. > >A countryman programmer of me mulptiplied his nps by 7 before showing it on >screen just to stop people from saying it was very slow. ( he also used the >"never accept material from a better program because you're probably not winning >anything, you just think you are" algoritm ) Did it work? :) And what about positional gifts? :) Christophe
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.