Author: Matt Taylor
Date: 18:33:50 12/23/02
Go up one level in this thread
On December 23, 2002 at 21:29:08, Arshad F. Syed wrote: >Is there anyone here who has actually converted their C code to C++ while >keeping the NPS the same or even managed to improve upon it? Sune did mention >that he did so only at the cost of 15% degradation in speed. Why do people even >bother wasting their time with C++ for a chess program when it inevitably leads >to taking a hit in NPS? Regardless, of all the advice to simply inline the >functions, I have yet to see a living example of chess program code which >performed faster in C++. > >Regards, >Arshad The biggest hit you take in C++ is virtual functions, and inevitably people use them. The virtual functions are very damaging due to the fact that they're implemented with a function pointer, and at the machine level it translates into an indirect call. The indirect calls branch mispredict because the CPU can't figure out ahead-of-time where you're calling to, and branch mispredicts are expensive. Unfortunately, not using virtual functions (mostly) defeats the benefits you would get from OO here. If you convert to C++ without using virtual functions, you probably won't take much of a hit at all. Personally, I've never seen a -need- to convert to C++. I can implement my OO in C, and it simplifies linking because C doesn't have name mangling. -Matt
This page took 0.02 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.