Author: Tom Kerrigan
Date: 10:30:25 06/21/00
Go up one level in this thread
On June 20, 2000 at 21:02:15, Christophe Theron wrote: >On June 20, 2000 at 14:51:25, Tom Kerrigan wrote: > >>On June 20, 2000 at 14:21:23, Christophe Theron wrote: >> >>>On June 20, 2000 at 11:17:48, Andrew Williams wrote: >>> >>>>On June 20, 2000 at 09:02:26, Robert Hyatt wrote: >>>> >>>>>On June 20, 2000 at 04:55:22, Dann Corbit wrote: >>>>> >>>>>>On June 20, 2000 at 04:41:47, James Robertson wrote: >>>>>> >>>>>>>Ignore all results from my previous post "Rough comparison between ro....". I >>>>>>>made some stupid coding errors in my test rotated bitboard code. Once fixed the >>>>>>>rotated bitboards look very competitive against 0x88. :) I also found flaws in >>>>>>>my 0x88 code, but they were very minor and I think I caught all of them (correct >>>>>>>move lists are generated in all my test positions). >>>>>>> >>>>>>>I am very happy to continue to use rotated bitboards. Thanks Robert for >>>>>>>inventing them, and thanks Tim for showing me how to use them! >>>>>> >>>>>>What was the timing ratio for various operations between the two methods? >>>>>> >>>>>>For the 0x88, what board size did you use? >>>>> >>>>> >>>>>For 0x88 you don't have much choice... it has to be 128, where you use the left >>>>>half for the board, the right half (64 squares) are off the board. There is >>>>>really a top half of 128 words also, but 0x88 eliminates references to them >>>>>due to the 0x80 bit not being allowed. >>>> >>>>Christophe Theron posted a few interesting pointers to using 16x16 instead of >>>>16x8 last week (I think). >>>> >>>>Andrew >>> >>> >>>Yes. I think that comparing 0x88 and bitboards is not totally relevant, as 0x88 >>>is in my opinion suboptimal. I explained why in last week's posts. >>> >>>There are also many smart tricks you can use that are derived from the >>>properties of a 16x16 (or 16x12) board, and they have never been published. >>> >>>I don't believe it is possible to compare 0x88, 16x and bitboards in one day or >>>two. Once you start to use one system, you discover smart ways to optimize it >>>even months after you start using it. >>> >>>I think that 16x and bitboards just break even, even on 64 processors, but it >>>would probably be very difficult to demonstrate this... >> >>But with bitboards, there is more memory overhead. Sometimes you have to take >>that into consideration. With modern desktop PC processors, it's probably not a >>big deal. But I'd like my program to run on smaller computers (specifically >>palmtops) so I'm going with 0x88. >> >>-Tom > > >That's a good reason indeed, and could even be the ultimate argument to say that >bitboards are not the best way to go. > >Some people are not afraid to allocate a bunch of 64 bits (=8 bytes) integers. I >am. I don't want to blow out the cache of my processor. > >Some will say that in a few years from now L1 caches will be much bigger. I doubt it. Big L1 caches can only slow a chip down. -Tom
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.