LGTM=bradfitz
R=adg, bradfitz
CC=golang-codereviews
https://golang.org/cl/162180043
This commit is contained in:
Dmitriy Vyukov 2014-10-27 13:07:31 +03:00
Родитель 58c76054c7
Коммит 33f4c98389
2 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -455,7 +455,7 @@ func buildPerfTodo(c appengine.Context, builder string) (*PerfTodo, error) {
nums = append(nums, num)
}
}
todo.CommitNums = orderPrefTodo(nums)
todo.CommitNums = orderPerfTodo(nums)
todo.CommitNums = append(todo.CommitNums, releaseNums...)
if _, err = datastore.Put(c, todo.Key(c), todo); err != nil {
return fmt.Errorf("putting PerfTodo: %v", err)

Просмотреть файл

@ -246,14 +246,14 @@ func significantPerfChanges(pc *PerfConfig, builder string, prevRes, res *PerfRe
return changes
}
// orderPrefTodo reorders commit nums for benchmarking todo.
// orderPerfTodo reorders commit nums for benchmarking todo.
// The resulting order is somewhat tricky. We want 2 things:
// 1. benchmark sequentially backwards (this provides information about most
// recent changes, and allows to estimate noise levels)
// 2. benchmark old commits in "scatter" order (this allows to quickly gather
// brief information about thousands of old commits)
// So this function interleaves the two orders.
func orderPrefTodo(nums []int) []int {
func orderPerfTodo(nums []int) []int {
sort.Ints(nums)
n := len(nums)
pow2 := uint32(0) // next power-of-two that is >= n