Author: Tijs van Dam
Date: 03:36:55 02/03/00
Go up one level in this thread
On February 02, 2000 at 21:57:27, Michael Neish wrote:
>
>Excuse me if I gripe. I just spent two months converting my program to
>bitboards and when I finally removed all the obvious bugs I find it's searching
>about 30% slower than the original routine, which just used simple arrays and
>loops to generate moves, a la TCSP.
>
>So where does the magic of bitboards come alive? It's certainly not in my case.
>
>Cheers,
>
>Mike.
For me, the big change came when, instead of
inline int CountOnes(BitBoard b)
{
int n=0;
while(b)
{
if(b&1)n++;
b>>=1;
}
return n;
}
I wrote:
inline int CountOnes(BitBoard b)
{
register int i=0;
while(b)
{
i++;
b&=b-1; // b &= b-1 clears least significant bit
}
return i;
}
I use a few CountOnes in the evaluation function. Speed increased almost 300%!
The calculation methods and update routines are VERY important...
Grts
Tijs
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.