Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: questions about using popcount function to count bitboard

Author: Russell Reagan

Date: 15:48:07 01/10/03

Go up one level in this thread


On January 10, 2003 at 17:22:59, Uri Blass wrote:

>I guess that you are right and I guess that I will not use assembler after the
>advices that I got.
>
>The point is that it is even possible that assembler may do me slower and even
>if today it can do me faster tommorow it may do me slower because of some
>compiler optimization so it may be better to have 100% C code and not 99.9% C
>code.

I think it would be very wise to use the method Tony gave, especially for
detecting protected passed pawns. In the vast majority of cases, there will be
no protected passed pawns, so Tony's code will exit almost immediately. In the
very few cases where there is a protected passed pawn, there will usually only
be one, and at most 8. That loop would be _fast_ always. The bitboard will
always be very sparse, so Tony's method should be more than fast enough.

Plus the compiler is probably going to take care of any optimization, and you
can keep your program in C so you don't have to worry about changing your
assembler code if you want to run Movei on a newer processor in the future.

Russell



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.