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.