Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Crafty -perf & perft

Author: Bas Hamstra

Date: 14:08:07 06/26/99

Go up one level in this thread


On June 26, 1999 at 16:38:34, Bas Hamstra wrote:

>How can I measure the number of makes/unmakes per second for Crafty on my PC?
>If I understand correctly the numbers given by perf are all *including* move
>generation. I want to know the nr of plain makes/unmakes per second, so without
>move generation...
>
>
>Bas Hamstra.

Reason: I am redoing my program and make it less OO and more efficient.
Currently I use pointers to squares and pieces and maybe I want to get rid of
most of those.

You know:  Board[Sq].Piece->Type = QUEEN;
Or:        Piece->Square->Attacks &= WHITEQUEENMASK;

So I am trying to compare to Crafty, to see if using a lot of pointers to
objects is too slow. Remember: not alot of construction/destruction, just
pointers an references.

Another question: what are efficient ways to get all attacks to a square? For
this seems very important for the swap() in the qsearch and. I know the
following:

1. An incremental pseudo-attackmap.
2. Bitboards (how good for this purpose?)
3. Square relationship table: Array[To-From], scanning for blocks after that.
4. Use parts of the movegenerator to scan squares (using a "square-table")

I used 1 and 4, resulting in comparable speeds for the entire program. I suspect
a good combination of certain Bitboards would be most efficient, in combination
with a table BlockMap(FromSq, ToSq).

Opinions?


Regards,
Bas Hamstra.



















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.