Author: Sune Fischer
Date: 07:58:24 08/31/03
Go up one level in this thread
On August 31, 2003 at 10:20:36, Anthony Cozzie wrote: >On August 31, 2003 at 02:21:03, Steven Edwards wrote: > >>The portable C++ CT toolkit has classes for describing positions either with or >>without bitboard representation in use. Here are the results of running both of >>them for enumerating the 119,060,324 movepaths of length six from the initial >>position on a 800 MHz G4 PPC notebook: >> >>Non bitboard: >> >>Frequency 1.07069 MHz >>Period 933.98 ns >>Cycles per node 747.184 >> >>Bitboard: >> >>Frequency 342.689 KHz >>Period 2.9181 us >>Cycles per node 2334.48 > >This is why abstracting the very base datastructures is a bad idea. Your >program is searching 340knps with no eval function, no pruning, no transposition >table lookup, etc. If someone writes an engine based on your bitboard code it >will probably search 100knps even with just a beancounter eval. Abstraction >always costs you in speed; in a chess program you just can't afford a 2x speed >decrease with no gain (other than being able to easily modify your code) > >anthony I'm not sure the abstraction itself can be blamed. To me it seems like the basic structures just aren't very fast. Using attack tables is a *huge* investment, a commitment only the programmer can make. So if you are going to do abstractions, I'd suggest to make it so that the tables can be turned off (preferably by default I think:). -S.
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.