Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Speed improvement in split move generation

Author: Robert Hyatt

Date: 08:33:27 08/18/03

Go up one level in this thread


On August 17, 2003 at 00:15:19, Federico Corigliano wrote:

>I already do that in the qsearch, since the first version, and I also skip
>captures that lose material (based in SEE).
>
>My question was conerned to the code in next.c of Crafty. How much is the speed
>difference (in % of nps, not in nodes because should be the same) vs. a Crafty
>that generate all the moves at the same time, sorts it, and choose from one in
>one?
>The difference between the two versions is that ie. if the hash move generates a
>cutoff I gained the time of generate captures and no captures, or if ie. the
>killer2 move generates a cutoff, then I gained the time of generate the no
>captures moves.
>
>I hope that my explanation is understandable :-)
>Federico


Perfectly understandable.  I used to know the answer to that question.  When I
first started, I generated everything.  A couple of years later, I split the
captures and non-captures, and started with the idea that I use today, that
is after the hash move, I generate captures, then if they fail to produce a
cutoff, I try the killers and then generate the non-captures.  In Cray Blitz,
since we were not a pure bitboard engine, we generated all moves at the same
time.  On a vector machine, this actually makes sense.  But anytime you can
avoid doing something now, on the hope that you never need to do it at all, you
end up winning, if you keep the cost down.



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.