From: Marco Costalba Date: Mon, 23 Feb 2015 12:35:04 +0000 (+0100) Subject: Sync with master X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=098f645d26675bcf2180b290be77fe64a63de3ae Sync with master bench: 8253813 --- 098f645d26675bcf2180b290be77fe64a63de3ae diff --cc src/search.cpp index 18c520f1,43a3175b..89330895 --- a/src/search.cpp +++ b/src/search.cpp @@@ -1583,12 -1590,12 +1583,12 @@@ void Thread::idle_loop() // Try to late join to another split point if none of its slaves has // already finished. SplitPoint* bestSp = NULL; - int bestScore = INT_MAX; + int minLevel = INT_MAX; - for (size_t i = 0; i < Threads.size(); ++i) + for (Thread* th : Threads) { - const size_t size = Threads[i]->splitPointsSize; // Local copy - sp = size ? &Threads[i]->splitPoints[size - 1] : NULL; + const size_t size = th->splitPointsSize; // Local copy + sp = size ? &th->splitPoints[size - 1] : nullptr; if ( sp && sp->allSlavesSearching @@@ -1601,16 -1608,14 +1601,14 @@@ // Prefer to join to SP with few parents to reduce the probability // that a cut-off occurs above us, and hence we waste our work. - int level = -1; - for (SplitPoint* spp = th->activeSplitPoint; spp; spp = spp->parentSplitPoint) + int level = 0; - for (SplitPoint* p = Threads[i]->activeSplitPoint; p; p = p->parentSplitPoint) ++ for (SplitPoint* p = th->activeSplitPoint; p; p = p->parentSplitPoint) level++; - int score = level * 256 * 256 + (int)sp->slavesMask.count() * 256 - sp->depth * 1; - - if (score < bestScore) + if (level < minLevel) { bestSp = sp; - bestScore = score; + minLevel = level; } } }