Author: Steven Edwards
Date: 08:50:53 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) Look again at the numbers. Machine cycles per node 2334.48 -- on a 3.0 GHz machine, this would be 1.285 MHz. The node count is based on legal moves only; no pseudolegal bad moves are included to inflate the numbers. The material balance is fully propagated to each node as are the hash keys. A "beancounter" evaluation would take only a few more cycles per node.
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.