Computer Chess Club Archives




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

Author: Robert Hyatt

Date: 13:10:54 11/19/02

Go up one level in this thread

On November 19, 2002 at 15:05:29, Vincent Diepeveen wrote:

>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 :)

Remember how you do when you play this "kindergarten level" program...

>>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 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.