Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: movegen speeds and pertf

Author: Robert Hyatt

Date: 14:21:40 07/30/03

Go up one level in this thread


On July 30, 2003 at 16:31:50, Angrim wrote:

>On July 29, 2003 at 23:56:03, Robert Hyatt wrote:
>
>>You finally reached the ultimate conclusion.  :)
>>
>>But to re-iterate another point, perft is a correctness benchmark _only_, as it
>>is defined.  It is _not_ a performance benchmark.  If it were, most of us would
>>write it differently, certainly using hashing to avoid traversing duplicate
>>parts of the tree searched due to transpositions.
>
>That would be monumentally stupid, unless the numbers were being used by
>a marketing department to sell the engine or something.  If the goal is
>for the person who is coding the perft() to find out how his movegen, makemove,
>and unmakemove speed compares to others to get an idea of how much he
>could speed it up, or to compare the speed of two different versions of
>his own movegen, then there is no rational reason to cheat, since this
>only hurts himself.

That wasn't why it was first done.  It was done to catch generator/make/unmake
_errors_ which then cause the count to go wrong.  IE it helped many of us find
bugs in en passant captures, castling errors, pawn promotion errors, illegal
move errors, etc.

>This is like someone designing a racecar trying to benchmark how fast
>their car is by putting it up on blocks and taking the wheels off, and
>timing how fast the axles rotate.
>  I think that timing perft can be a useful benchmark, as long as you
>code perft as defined and visit each leaf node.  If you use hash tables
>and avoid visiting the leaf nodes, then you have written something that
>outputs the same number as perft does, but it isn't the same function.
>
>Angrim


Comparing times is not particularly useful, unless you both do the same kinds
of things in make/unmake move.  IE for someone that incrementally updates some
global pawn structure values, their make/unmake will be slower, their perft
result will be slower, but their program might actually be faster overall.




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.