runtime/select.go optimize heapsort for lockorder

Heapsort can stop when only one element remains in the heap.
This commit is contained in:
zikcheng 2023-10-23 18:49:24 +08:00
parent bc2124dab1
commit b8b00df431
1 changed files with 1 additions and 1 deletions

View File

@ -194,7 +194,7 @@ func selectgo(cas0 *scase, order0 *uint16, pc0 *uintptr, nsends, nrecvs int, blo
}
lockorder[j] = pollorder[i]
}
for i := len(lockorder) - 1; i >= 0; i-- {
for i := len(lockorder) - 1; i > 0; i-- {
o := lockorder[i]
c := scases[o].c
lockorder[i] = lockorder[0]