Author: Dan Newman
Date: 12:43:02 04/25/00
Go up one level in this thread
On April 25, 2000 at 08:23:58, Andrew Williams 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. > >Interesting. What information do you generate to help with move ordering? >Mine calculates the static exchange score for every capture. I should have >mentioned that earlier. > >Andrew I don't do anything to order moves in the generate_captures() function, I do that in a separate see() routine--though I have thought of embedding this into the generator since I use it everywhere... -Dan.
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.