mirror of
https://github.com/opelly27/Stockfish.git
synced 2026-05-20 14:27:45 +00:00
Do not use evaluate() for razoring
Because razoring is reached 10% of times and about 50% of time first two conditions are met we can save 5% of calls to the fairly costly evaluate(). On the other side statistics have shown 95% of nodes that pass the first two razoring conditions pass also the evaluate() test. So the risk of dropping the third condition seems low enough. Testing seems to validate this. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
+1
-3
@@ -1122,9 +1122,7 @@ namespace {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Null move search not allowed, try razoring
|
// Null move search not allowed, try razoring
|
||||||
else if ( depth < RazorDepth
|
else if (depth < RazorDepth && approximateEval < beta - RazorMargin)
|
||||||
&& approximateEval < beta - RazorMargin
|
|
||||||
&& evaluate(pos, ei, threadID) < beta - RazorMargin)
|
|
||||||
{
|
{
|
||||||
Value v = qsearch(pos, ss, beta-1, beta, Depth(0), ply, threadID);
|
Value v = qsearch(pos, ss, beta-1, beta, Depth(0), ply, threadID);
|
||||||
if (v < beta)
|
if (v < beta)
|
||||||
|
|||||||
Reference in New Issue
Block a user