X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=2e4ec5ec0889672162fdf25c77317a4aade7165e;hp=6699991a8d5237932f0b98f10d42bce308f0a62c;hb=18df1698f43f6c3c72ade97a4d89d489f3fa929c;hpb=e6c289902069b7bc262ddaf86a21884867d8f83b diff --git a/src/search.cpp b/src/search.cpp index 6699991a..2e4ec5ec 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -573,9 +573,13 @@ namespace { if (thisThread->resetCalls.load(std::memory_order_relaxed)) { thisThread->resetCalls = false; - thisThread->callsCnt = 0; + // At low node count increase the checking rate to about 0.1% of nodes + // otherwise use a default value. + thisThread->callsCnt = Limits.nodes ? std::min((int64_t)4096, Limits.nodes / 1024) + : 4096; } - if (++thisThread->callsCnt > 4096) + + if (--thisThread->callsCnt <= 0) { for (Thread* th : Threads) th->resetCalls = true; @@ -944,10 +948,15 @@ moves_loop: // When in check search starts from here && !pos.see_ge(move, Value(-35 * lmrDepth * lmrDepth))) continue; } - else if ( depth < 7 * ONE_PLY - && !extension - && !pos.see_ge(move, Value(-35 * depth / ONE_PLY * depth / ONE_PLY))) + else if (depth < 7 * ONE_PLY && !extension) + { + Value v = Value(-35 * depth / ONE_PLY * depth / ONE_PLY); + if (ss->staticEval != VALUE_NONE) + v += ss->staticEval - alpha - 200; + + if (!pos.see_ge(move, v)) continue; + } } // Speculative prefetch as early as possible