Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A Question Of Speed

Author: Michael Neish

Date: 19:57:05 11/15/00

Go up one level in this thread


On November 15, 2000 at 22:30:41, James Swafford wrote:

>There are lots of variables here. :-)

Of course I'm aware of that, but I thought there may be a simple explanation.  I
converted my program to bitboards some time ago, and it ended up slowing down
the program by about 30%, although I think it's worth it in the long run.  Of
course I'm using quiesce(), and counting all nodes in search() and quiesce() --
separately, just to see the proportion of nodes searched in each.  I use lazy
eval, but at the moment generate caps and non-caps together.  Separating them is
next on my list, though I don't think that it will make up for the huge
difference, do you?  Yes I can fail high before generating moves if the hash
score says so.  I also use mva/lva and return early from quiesce() if the
captured piece doesn't bring the score high enough.  I also do a little bit of
futility pruning, but not really enough to affect speed I think.

In your experience, what sort of gain could I expect from generating captures
and trying them before generating non-captures?  By the way, I generate moves
before trying the hash move (though it's placed first on the list).  Surely
there's a lot of optimisation possible here.  But again, is it enough to make up
the difference?

Oh, and by optimisation I mean "hand optimised".  I have a lot of diagnostics
running, and some experimental stuff which I'll optimise if worthwhile.  I'm
using CodeWarrior Pro 5 with all optimisations on full, of course.

Thanks for your reply.

Mike.



>--
>James



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.