Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: to rotate or not?

Author: Bas Hamstra

Date: 06:20:30 04/25/00

Go up one level in this thread


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!

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