Skip to content

Commit 44d9149

Browse files
committed
perf(scheduler): avoid synthetic partial search upper bound
Signed-off-by: Erez Freiberger <enoodle@gmail.com>
1 parent 607c08b commit 44d9149

2 files changed

Lines changed: 4 additions & 5 deletions

File tree

pkg/scheduler/actions/common/solvers/job_solver.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ func searchMaxSolvableK(n int, probe func(k int) *SearchResult) (int, *SearchRes
210210
}
211211

212212
lo := 0
213-
hi := n
213+
var hi int
214214
var lastUnsolvedResult *SearchResult
215215
k := 1
216216
for k < n {
@@ -226,8 +226,7 @@ func searchMaxSolvableK(n int, probe func(k int) *SearchResult) (int, *SearchRes
226226
lo = k
227227
k *= 2
228228
if k >= n {
229-
hi = n
230-
break
229+
return lo, lastUnsolvedResult
231230
}
232231
}
233232

pkg/scheduler/actions/common/solvers/job_solver_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ func TestSearchMaxSolvableKSkipsFullProbe(t *testing.T) {
1717
return solvedSearchResult(&solutionResult{solved: true}, false)
1818
})
1919

20-
require.Equal(t, 3, maxSolvedK)
20+
require.Equal(t, 2, maxSolvedK)
2121
require.Nil(t, result)
22-
require.Equal(t, []int{1, 2, 3}, probes)
22+
require.Equal(t, []int{1, 2}, probes)
2323
}
2424

2525
func TestSearchMaxSolvableKSkipsSingleTaskFullProbe(t *testing.T) {

0 commit comments

Comments
 (0)