Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Design choices in Crafty

Author: Dieter Buerssner

Date: 13:39:01 06/25/04

Go up one level in this thread


On June 25, 2004 at 15:03:21, Gerd Isenberg wrote:

>http://chessprogramming.org/cccsearch/ccc.php?art_id=357556
>http://chessprogramming.org/cccsearch/ccc.php?art_id=357568

Thanks Gerd. I think I understood now.

>So it really seems negligible for "huge" search functions.
>
>Maybe my "bad" expirience has other sources by sideeffect or whatever.
>But nowadays i often use [ply-1] or [ply-2] and more a lot and prefere external
>arrays of nodes. One may simply use threadsafe preallocated external stacks too,
>eg. as member of a search thread object.

I of course agree, that arrays where you have to access info not only from the
current node, must be some sort of global. I had in mind the best line, which I
use as a local array. Same for generated moves.

int search(... bestline[])
{
  local_bestline[];
  generated_moves[];
  gen_moves(generated_moves);
  /* recursive calls */
    search(local_bestline)
    /* And update bestline, when needed */
}

instead of having something like a global

bestline[MAXPLY][MAXPLY].

and an expicit move stack. At least in my engine, I don't need access to the
list of generated moves from another recursion level. The generated_moves array
might come close to the 4 kB (for me 8 bytes per move), local_bestline for me is
256 bytes, other local vars in search will hardly matter.

Cheers,
Dieter



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.