Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: movegen speeds and pertf

Author: Angrim

Date: 13:31:50 07/30/03

Go up one level in this thread


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



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.