Computer Chess Club Archives


Search

Terms

Messages

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

Author: Ralf Elvsén

Date: 02:36:31 02/24/01

Go up one level in this thread


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

Hmm, if the branching factor is 4, then, translated to perfect
moveordering in alpha-beta, you would have 1 make/unmake
and 16 make/unmake alternately. (sqrt(1*16) = 4). So maybe
17/2 = 8.5 is better than 4? Why not measure these numbers instead
for your particular program since there are complications with
hashtables and killers?

But I agree on the fundamental idea.

Ralf



This page took 0.01 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.