Skip to content

Commit

Permalink
Score and Select Best Thread in same loop (#2125)
Browse files Browse the repository at this point in the history
This is a non-functional simplification that combines vote counting and thread selecting in the same loop.

It is possible that the best thread would be updated more frequently than master, but I'm not sure it matters here. Perhaps "mostVotes" is a better name than "bestVote?"

STC (stopped early).
LLR: 0.70 (-2.94,2.94) [-3.00,1.00]
Total: 10714 W: 2329 L: 2311 D: 6074
http://tests.stockfishchess.org/tests/view/5ccc71470ebc5925cf03d244

No functional change.
  • Loading branch information
protonspring authored and mcostalba committed May 16, 2019
1 parent 3d076a0 commit 272936e
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/search.cpp
Expand Up @@ -239,19 +239,19 @@ void MainThread::search() {
for (Thread* th: Threads)
minScore = std::min(minScore, th->rootMoves[0].score);

// Vote according to score and depth
// Vote according to score and depth, and select the best thread
int64_t bestVote = 0;
for (Thread* th : Threads)
{
votes[th->rootMoves[0].pv[0]] +=
(th->rootMoves[0].score - minScore + 14) * int(th->completedDepth);

// Select best thread
auto bestVote = votes[this->rootMoves[0].pv[0]];
for (Thread* th : Threads)
if (votes[th->rootMoves[0].pv[0]] > bestVote)
{
bestVote = votes[th->rootMoves[0].pv[0]];
bestThread = th;
}
}
}

previousScore = bestThread->rootMoves[0].score;
Expand Down

0 comments on commit 272936e

Please sign in to comment.