Author: Robert Hyatt
Date: 09:12:19 09/22/03
Go up one level in this thread
On September 22, 2003 at 08:39:49, Vincent Diepeveen wrote: >On September 21, 2003 at 21:15:06, Robert Hyatt wrote: > >>On September 21, 2003 at 20:07:11, Vincent Diepeveen wrote: >> >>>On September 20, 2003 at 15:58:03, Dave Gomboc wrote: >>> >>>>On September 15, 2003 at 19:28:39, Mathieu Pagé wrote: >>>> >>>>>In fact I have not yet implementing dynamic allocation. >>>>> >>>>>I'm pretty sure it's about too much constructor executing. >>>>> >>>>>I'd like to know if someone had ever experiments which overhead (%) should I >>>>>expect when porting non-OO chess engine to OO ? >>>>> >>>>>Thanks for your help, i'will give a try to your idea when implementing dynamic >>>>>allocation. >>>>> >>>>>Mathieu Pagé >>>> >>>>I'd expect zero overhead. >>> >>>then he's not using real OO features. >>> >>>As soon as you start using advanced stuff from object oriented programming, then >>>overhead is *huge*. >>> >>>Let's assume for example a neat OO program that's allocating and deallocating >>>objects of course. That's real neat OO programming. >>> >>>What junior team and others do in c++ is by no means what i call the real OO >>>features. >>> >>>The real OO features are dead slow for chess :) >>> >>>>Dave >> >> >>Not necessarily.. A chess board is a good example of an object. There is >>no need to create a bunch of them, one is enough. I've personally seen more >>than one _really_ elegant OO (C++) chess program that was just as fast as >>mine (it was a bitboard program also). > >In fact i wrote several c++ programs a bunch of years ago, using all kind of >cool c++ features (from which some i probably am forgotten again) and the code >was *dead* slow. Of course the code wasn't meant for speed. > >I have not seen neat c++ code that's faster than C, using special c++ features. > >If you use classical neat c++ then a chessprogram is just busy allocating and >destroying objects, which is *real* slow. > >As soon as you start using tricks to avoid all that, then all you end up is a C >program with extension cpp. > >Best regards, >Vincent Not true, as always. _NOTHING_ in OOP says you have to continually create and destroy objects. For chess, you can create a single instance of a chess board object and use it forever. Your thinking is _far_ too rigidly contained in a tiny box. There is a much bigger box _outside_ that little box you stay in.
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.