Author: Robert Hyatt
Date: 18:08:01 12/06/98
Go up one level in this thread
On December 06, 1998 at 13:54:31, Frank Phillips wrote: >On December 06, 1998 at 10:23:54, Robert Hyatt wrote: > >>On December 06, 1998 at 05:55:00, Frank Phillips wrote: >> >>>On December 05, 1998 at 21:36:46, Roberto Waldteufel wrote: >>> >>>> >>>>On December 05, 1998 at 17:22:43, Frank Phillips wrote: >>>> >>>>>On a PII are programs based on bitboards inherently faster than those based on >>>>>integer arrays? >>>> >>>>Hi Frank, >>>> >>>>On the Pentium, you have two very useful assembler instructions for bitboards, >>>>the bsf and bsr instructions that find the first or last 1 bit in a 32-bit >>>>number. These instructions are ideally suited to bitboard operations, but they >>>>used to be terribly slow. Not any more, however: on the PII and PPro processors, >>>>these instructions are very fast. As long as the testing is done on CPU >>>>registers (not in memory), a bsf or bsr instruction executes in either 1 or 2 >>>>CPU clocks (depending on pipelining efficiency). So on a PII or PPro I think >>>>bitboards are a really big win, but if your program is going to be used on older >>>>machines, you might think twice about using the bit scan instructions - they can >>>>by more than 300 times slower in the worst case. >>>> >>>>Be careful how you code your bitboard routines if you try them. You will need to >>>>code them in assembler, and it's quite fiddly to get right. But when you do, >>>>bitboards fly on a PII. You might gain a good insight into bitboards by looking >>>>at Earnst Heinz's Darkthought web site. If you are interested in implementing >>>>rotated bitboards, Bob Hyatt is preparing (has prepared?) an article for ICCA >>>>publication on the subject. He sent me a rough draft copy, and I found it >>>>explains rotated bitboard implementation very well indeed. Whether or not >>>>rotated bitboards are right for you depends on your program's data structures >>>>and also on your implementation. My own experiments on a PII have shown that I >>>>can generate the same information using ordinary bitboards faster than I can >>>>using rotated bitboards, but the implementation I use relies very heavily on the >>>>bit scan instructions, and as I said, these only became fast on the more recent >>>>pentiums, and the rotated bitboards would undoubtedly be far superior on any >>>>machine that did not offer this fast bit scan capability (eg pentium plain and >>>>pentium MMX, also 486 has bit scans but they are slow) >>>> >>>>Hope this helps. Good luck! >>>> >>>>Roberto >>>Roberto >>> >>>Thanks for the answer. I was wondering whether to make the leap to bitboards >>>having just ?completed? the barebones of my first program based on the integer >>>array approach in TSCP. I have no plans for the results of my rather mediocre >>>efforts - just for personal interest. >>> >>>The problem as always is getting hold of information . >>> >>>Bob is your paper available other than by subscribing to ICCA? >>> >>>A while ago someone praised Bob Hyatt for all the help he gives to beginners and >>>others alike. I whole heartedly endorse this and would also praise Tom Kerrigan >>>for making TSCP readily available. As someone new to both programming and chess >>>programming I found it a wonderful resource, without which I would probably >>>never have got started. (Crafty is another well documented source, but way up >>>the learning curve for a complete beginner). >>> >>>Frank >> >> >>I haven't finished this yet... I've sent it to a couple of people in draft >>form when they asked... And will do the same for you if you are interested. >>Note that it is a rough draft, reasonably complete, but not "polished" yet... > >Bob > >Definitely I need your e-mail...
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.