Computer Chess Club Archives




Subject: Re: Differences between 0x88 ,10x12 and Bitboards!?

Author: Vincent Diepeveen

Date: 12:05:29 11/19/02

Go up one level in this thread

On November 19, 2002 at 14:14:35, Robert Hyatt wrote:

If you want to keep your thing at kindergarten level,
bitboards is the way to go of course :)

>On November 19, 2002 at 13:30:57, Christophe Theron wrote:
>>On November 19, 2002 at 13:15:09, Gerd Isenberg wrote:
>>>On November 19, 2002 at 12:25:11, Gian-Carlo Pascutto wrote:
>>>>On November 19, 2002 at 11:35:24, Robert Hyatt wrote:
>>>>>Bitboards have a bit of a performance advantage on 64 bit processors,
>>>Hi Gian-Carlo,
>>>I think that's evident. If the none bitboarders have to use implicite native
>>>data-width of 64 bit integers, they have to transfer 32 additional zero bits
>>>without any additional information for each integer access. Of course you will
>>>pack some data, but all the local ints...
>>>So the information density for bitboarders grows with 64bit-architectures
>>>relative to none bitboarders. That also effects register usage, and that's IMHO
>>>more important. On x86-32bit architectures you can only hold three bitboards in
>>>registers, and thats even most a hard task. Actually, if you have a local
>>>routine with three bitboards and a few ints on the stack, there are a lot
>>>register/memory moves. Simply the data-width doubles the number of bitboard
>>>registers, not considered the increase in general purpose registers, or with
>>>hammer the number of mmx- and 128-bit xmm registers.
>>>Whether a bitboard based program is stronger than a none bitboard program
>>>depends obviuosly also on other things, but in principle :)
>>You have just explained why the bitboarders are less handicapped on 64 bits
>>You have not explained why they are supposed to have "a bit of performance
>>advantage on 64 bits processors".
>>    Christophe
>Actually he _did_ explain.  A 32 bit program, running on a 64 bit machine,
>simply passes
>32 bit values around, taking _no_ advantage from the additional 32 bits of data
>that is
>available.  A bitboard program, on the other hand, _does_ get an advantage.
>Rather than
>having to use two instructions for 64 bit AND/OR/XOR instructions, it can use
>just one.
>Rather than using even more to do 64 bit shifts, it uses just one.
>Seems intuitive that 64 bit programs will run faster on a 64 bit processor, even
>if the 64 bit
>processor executes instructions _exactly_ at the same speed (and using the same
>number of
>registers and so forth).  All the 64 bit stuff reduces to a single instruction,
>while the normal
>chess program does _exactly_ the same work on either...

This page took 0.05 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.