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.