Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Collecting PVs: hashtables vs. lists passing in search

Author: Daniel Clausen

Date: 05:43:06 06/18/02

Go up one level in this thread


On June 18, 2002 at 08:30:26, Vladimir Medvedev wrote:

>I know that some programs collect PV after search by browsing hashtable, while
>others (including my GreKo) do that dynamically in search by passing move lists
>(by reference, of course :)) in recursive calls.
>
>I think that the first method (get PV from hashtable) should be better - simply
>because we will get only one PV per search and do not waste time for passing
>data of no use. But I have two questions before switching to this method in my
>program:
>
>1. Is it REALLY much faster? (Did anybody measure the difference?)

Although I didn't measure it, I'm pretty sure the difference is very small.
Passing the movelists by reference are just 4(or whatever) bytes more to copy
per search() call. And the (potential) PV doesn't change that often, if the
move-ordering is good anyway. (that's why Bruce even uses memcpy of the whole
list in his examples (at http://www.seanet.com/~brucemo/chess.htm)

I think there are more important reasons for either side to consider though. For
example, using movelists has the advantage that you still have your PV when you
turn off hashtables. (e.g. during debugging) With hashtables it's more likely
that your PV won't be big, because of overwritten hash entries. I'm sure there
are other things to consider (for both sides)

Sargon



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.