Skip to content

Commit b8b00df

Browse files
committed
runtime/select.go optimize heapsort for lockorder
Heapsort can stop when only one element remains in the heap.
1 parent bc2124d commit b8b00df

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/runtime/select.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ func selectgo(cas0 *scase, order0 *uint16, pc0 *uintptr, nsends, nrecvs int, blo
194194
}
195195
lockorder[j] = pollorder[i]
196196
}
197-
for i := len(lockorder) - 1; i >= 0; i-- {
197+
for i := len(lockorder) - 1; i > 0; i-- {
198198
o := lockorder[i]
199199
c := scases[o].c
200200
lockorder[i] = lockorder[0]

0 commit comments

Comments
 (0)