X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=e29f54498e1ce3bfd322b493fc73e641a8c3d873;hp=4384b58dd5c89a21ab10d40ccb0de6c88525fc82;hb=45b0aea875860e9f0fe2d0435ee6163906639194;hpb=4803d5772c120121dad6bad78cc2b6be5c24fb1f diff --git a/src/search.cpp b/src/search.cpp index 4384b58d..e29f5449 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -242,11 +242,13 @@ void Search::think() { Threads.sleepWhileIdle = Options["Idle Threads Sleep"]; // Set best timer interval to avoid lagging under time pressure. Timer is - // used to check for remaining available thinking time. Timer will be started - // at the end of first iteration to avoid returning with a random move. + // used to check for remaining available thinking time. Threads.timer->msec = Limits.use_time_management() ? std::min(100, std::max(TimeMgr.available_time() / 16, TimerResolution)) : - Limits.nodes ? 2 * TimerResolution : 100; + Limits.nodes ? 2 * TimerResolution + : 100; + + Threads.timer->notify_one(); // Wake up the recurring timer id_loop(RootPos); // Let's start searching ! @@ -400,10 +402,6 @@ namespace { assert(alpha >= -VALUE_INFINITE && beta <= VALUE_INFINITE); } - // Wake up the recurring timer after first iteration is finished - if (depth == 1) - Threads.timer->notify_one(); - // Sort the PV lines searched so far and update the GUI std::stable_sort(RootMoves.begin(), RootMoves.begin() + PVIdx + 1);