mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Sync with master
bench: 8253813
This commit is contained in:
commit
098f645d26
1 changed files with 5 additions and 7 deletions
|
@ -1583,7 +1583,7 @@ 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 (Thread* th : Threads)
|
||||
{
|
||||
|
@ -1601,16 +1601,14 @@ void Thread::idle_loop() {
|
|||
|
||||
// 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 = 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue