From: Marco Costalba Date: Sat, 5 Jun 2010 07:40:47 +0000 (+0200) Subject: Avoid calling evaluate() while razoring X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=287b46aa633cb61762216cb1aed1b246d0ed0802 Avoid calling evaluate() while razoring Micro optimization that gives a 0.5% speed improvment No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index 65395b4e..5a2495d4 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1148,6 +1148,10 @@ namespace { && !value_is_mate(beta) && !pos.has_pawn_on_7th(pos.side_to_move())) { + // Pass ss->eval to qsearch() and avoid an evaluate call + if (!tte || tte->static_value() == VALUE_NONE) + TT.store(posKey, ss->eval, VALUE_TYPE_EXACT, Depth(-127*OnePly), MOVE_NONE, ss->eval, ei.kingDanger[pos.side_to_move()]); + Value rbeta = beta - razor_margin(depth); Value v = qsearch(pos, ss, rbeta-1, rbeta, Depth(0)); if (v < rbeta)