Computer Chess Club Archives




Subject: Re: Perft 5,6 {Fastest program is List}

Author: Uri Blass

Date: 15:48:52 06/04/02

Go up one level in this thread

On June 04, 2002 at 18:29:08, Robert Hyatt wrote:

>On June 04, 2002 at 18:20:53, Gian-Carlo Pascutto wrote:
>>Odd, I get 39 secs for Crafty, 23.5 for Yace, which is a much bigger difference.
>>(Crafty 18.12 vs Yace 0.99.68b)
>>Dieter did some optimisations here or so?
>No idea.  I didn't try to make this "fast" at all.  It was designed to
>be a debugging tool for the move generator (for me), not as a performance
>test.  Although it has been used for that.  It is reasonable to compare
>perft for crafty version X on machine Y vs perft for crafty version X
>on machine Z, to compare the two machines.  Compareing two different
>programs' perft times doesn't mean a lot unless both programs have been
>optimized to make it efficient.  I simply wrote it to be simple.  IE I
>would turn off a _lot_ of Make/Unmake overhead to simply run perft as fast
>as possible...

I tried to make it fast in the first place but after I got something that is
faster than everything that I know I decided to stop to work on improving the
speed of it inspite of the fact that I could continue to work on making it

I will have to look at some older version of movei without hash table in order
to find the fastest version that I have today that calculates perft.

There is no reason to update the zobrist key after every move in order to
calculate perft but movei today does it as part of the makemove function.

There are also other calculations that are used today in the makemove or in
generating moves and are not needed(for example I do some calculation for better
order of moves in the move generator and I update some variables in my

Movei is using pure C and no assembler so I am sure that it's speed can be also
improved by assembler tricks.


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.