Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Bitboard VS array board ,speed difference in movegen()

Author: Bas Hamstra

Date: 21:59:33 02/24/01

Go up one level in this thread


It is even more complicated than this. BitBoard is faster at generating
captures and slower at generating normal moves. Best is to separately compare
key functions:

. Make/Unmake
. GenCaptures
. GenNonCaptures
. SquareAttacked(Sq, ByColor)
. SEE (Static Exchange Evaluator)

In my opinion it don't matter much speedwise what you use, as long as you do it
well. If you want to use Attack-To info heavily, that is, you want to know for
each square by what pieces it is attacked (TheKing, Diep, Comet, GNU), I think
bitboard is slower. Otherwise it is competitive.

Bas.

On February 24, 2001 at 00:57:05, TEERAPONG TOVIRAT wrote:

>Hi,
>
>I want to measure the speed difference in move
>generation between bitboard and array board.
>I think it's unfair to compare the speed of these
>two movegen() directly,because bitboard calculates
>attacked squares in makemove() and also unmake()
>(at least the technique I used) .
>So,the test should include makemove(),unmake() too.
>The question is what is the optimum ratio for
>each function?
>Suppose the branching factor is 4, this means that
>in a real situation,approximately the first 4 moves
>are passed to next ply repeatedly.
>So, the ratio should be 1:4:4 for movegen():
>makemove():unmakemove. Here is my test...
>
>       for(iteration n times)
>        {
>        movegen() // of course, n times
>        for(first 4 moves) // so, 4n times
>         	{
>	makemove();
>        	unmakemove();
>        	}
>        }
>
>Any comments?
>
>Thanks in advance,
>Teerapong



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.