Author: Dan Newman
Date: 12:58:40 04/25/00
Go up one level in this thread
On April 25, 2000 at 09:20:30, Bas Hamstra wrote: >On April 25, 2000 at 07:24:38, Dan Newman wrote: > >>On April 25, 2000 at 06:50:18, Andrew Williams wrote: >> >>>On April 25, 2000 at 05:59:45, Bas Hamstra wrote: >>> >>>>On April 25, 2000 at 01:33:45, Tom Kerrigan wrote: >>>> >>>>>On April 25, 2000 at 01:32:48, Tom Kerrigan wrote: >>>>> >>>>>>On April 25, 2000 at 01:20:11, Bas Hamstra wrote: >>>>>> >>>>>>>(Currently I myself have started all over trying to make a really fast rotated >>>>>>>BB program. Looks promising so far: make/unmake=2M/sec and movegeneration=12M >>>>>>>moves/sec on a Celeron 466) >>>>>> >>>>>>My program does gen/make/unmake at 2M/sec, and just gen at ~10M/sec. >>>>>> >>>>>>I'm not using any sort of bitboards. >>>>>> >>>>>>Maybe something to consider... >>>>>> >>>>>>-Tom >>>>> >>>>>Whoops, forgot to mention that I have a Celeron/400. >>>>>-Tom >>>> >>>>I am not very familiar with these type of statistics. What exactly does that >>>>"gen/make/unmake" mean? Gen all moves and then making/unmaking each? But what >>>>does it SAY..? I am afraid not much for my type of program. Here is why. >>>> >>>>- I have distinct functions gencaps() and gennoncaps() >>>>- Profiler says caps() is called 10x as much called as noncaps() >>>>- So 90% the time all the work of gen() is only to find a capture that gives a >>>>cutoff. Regardless if you distinct them or not. >>>> >>>>So you can maybe extremely fast gen+make+unmake all moves. But what *I* want to >>>>know is "how many times/sec" can I do a capgen(), since that has to be done >>>>practically *every* node. >>>> >>>>And since it don't seem to matter a lot timewise if I generate 3 or 5 captures, >>>>I simply measure the above TotalCapGens/sec. Maybe we can compare (same hardware >>>>anyway): >>>> >>>>after e4 e5 Nf3 Nf6 Nc3 Nc6 Bc4 Bc5 >>>> >>>>I can do a CaptureGen() 800k times a second. I am interested in what others >>>>have, especially 0x88 and non-rotated BB programs. >>>> >>>> >>>>Regards, >>>>Bas Hamstra. >>> >>>Hi >>> >>>The fen string for the position you describe is: >>> >>>r1bqk2r/pppp1ppp/2n2n2/2b1p3/2B1P3/2N2N2/PPPP1PPP/R1BQK2R w KQkq - 0 5 >>> >>>PostModernist is a 0x88 program, but it keeps up-to-date 32-bit attack >>>records, which it uses for capture generation (amongst other things). PM >>>can call generate_captures 510k times per second on a PIII-450 in this >>>position. I'd be very interested in other programs' performances. >>> >>>Andrew >> >>My 0x88 program gets 830k capture generations/s (10M iterations) on a >>Cel-400, but I'm not doing anything fancy, like attack records... >> >>-Dan. > >In fact this is a rather closed position, which favours 0x88. In this position >my 0x88 version comes near to the BB version, ie 800k hardly sorted, on >Celeron466. However then I tried a few more wac's, more "open" positions, were >there were at least 5 possible captures. BB remained around 800k, but 0x88 went >to 500k! > I've noticed similar things too (with bitboard vs 0x88). My bitboard program seems to vary less in node rate given different positions. That is, the slowest it seems to go is about 430 knps and the fastest perhaps 750 knps (two kings only). The 0x88 (IIRC) is somewhat more variable. I think this is due to doing things in a more bit-parallel fashion. That is you do a lot of the same work if there is just one pawn or eight pawns, you don't have a shrinking piece list, and so forth... -Dan. >(BTW Maybe the testposition is a bit too "closed" to be realistic, when you >think of how the search operates, trying everything, hanging pieces everywhere, >but a la...) > > > >Regards, >Bas Hamstra.
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.