Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Tinker 81 secs Re: Testing speed of "position visiting"

Author: Robert Hyatt

Date: 20:24:13 04/23/00

Go up one level in this thread


On April 23, 2000 at 22:28:07, Tom Kerrigan wrote:

>On April 23, 2000 at 22:07:33, Robert Hyatt wrote:
>
>>On April 23, 2000 at 21:37:45, Tom Kerrigan wrote:
>>
>>>On April 23, 2000 at 21:12:59, Brian Richardson wrote:
>>>
>>>>This includes MVV/LVA (actually modified TSCP gen_push() which is quite a bit
>>>>slower than the *move++= pointer method), one 64 bit hash key, plus white and
>>>>black pawn counts and material values.  Non-rotated bitmap move generation.
>>>
>>>What sort of non-rotated bitmaps do you keep? I think the speed is pretty
>>>impressive.
>>>
>>>-Tom
>>
>>
>>Here is the number for the right position (Crafty).  Somehow my script before
>>didn't execute the command to set a FEN position.  On my PII/400 notebook, I get
>>159.43 seconds.
>
>How is it that Crafty is 15x slower than Stobor when the test is done from the
>initial position, but 10% faster when it's done from Peter's position?
>
>-Tom


When I ran the test, I had -DDEBUG turned on for something else.  That does
a _huge_ amount of positional validation after each MakeMove() and UnMakeMove().
I didn't notice until I ran the right position and after 10 minutes it was still
stuck.  I remembered that I was testing something and had left that on...

BTW, on the xeon 550, the time is 114.20.  That is a 550mhz cpu, 512K L2 cache,
100mhz FSB.


BTW, this could probably run faster if I wanted.  I never intended the perft
stuff to be used as a performance test, only as a 'validate that the move
generator is not screwing up' test...  A better test here is to pick a
position and generate or generate/make/unmake moves over and over, without
doing the recursive calls and so forth...  or the legality checks, etc...


Here is output for Peter's position, generating the moves from the same position
N times, then generating/making/unmaking the moves M times:

White(1): perf
generated 48000000 moves, time=7.57 seconds
generated 6340818 moves per second
generated/made/unmade 48000000 moves, time=38.66 seconds
generated/made/unmade 1241593 moves per second


In this case, M/N are one million. so it does each thing 1000000 times...  no
searching, no validity checking, just generating 1M times to time just the
move generator efficiency, then generate the legal moves, make/unmake each one,
1M times to test generate/make/unmake efficiency...



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.