mirror of
https://github.com/golang/go.git
synced 2025-05-05 15:43:04 +00:00
test/heapsampling.go: slow down allocation rate and reduce iterations
As far as I can tell, this test suffers from #52433. For some reason, this seems to become more of a problem on the windows/386 than anywhere else. This CL is an attempt at a mitigation by slowing down the allocation rate by inserting runtime.Gosched call in the inner loop. It also cuts the iteration count which should help too (as less memory is allocated in total), but the main motivation is to make sure the test doesn't take too long to run. Fixes #49564. Change-Id: I8cc622b06a69cdfa66f680a30e1ccf334eea2164 Reviewed-on: https://go-review.googlesource.com/c/go/+/408825 Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
1f0ef6bec7
commit
70d499cd89
@ -45,7 +45,7 @@ func main() {
|
||||
// the testcase allows for a 10% margin of error, but only fails if it
|
||||
// consistently fails across three experiments, avoiding flakes.
|
||||
func testInterleavedAllocations() error {
|
||||
const iters = 100000
|
||||
const iters = 50000
|
||||
// Sizes of the allocations performed by each experiment.
|
||||
frames := []string{"main.allocInterleaved1", "main.allocInterleaved2", "main.allocInterleaved3"}
|
||||
|
||||
@ -79,6 +79,9 @@ func allocInterleaved(n int) {
|
||||
a16k = new([16 * 1024]byte)
|
||||
a256 = new([256]byte)
|
||||
// Test verification depends on these lines being contiguous.
|
||||
|
||||
// Slow down the allocation rate to avoid #52433.
|
||||
runtime.Gosched()
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,7 +104,7 @@ func allocInterleaved3(n int) {
|
||||
// the testcase allows for a 10% margin of error, but only fails if it
|
||||
// consistently fails across three experiments, avoiding flakes.
|
||||
func testSmallAllocations() error {
|
||||
const iters = 100000
|
||||
const iters = 50000
|
||||
// Sizes of the allocations performed by each experiment.
|
||||
sizes := []int64{1024, 512, 256}
|
||||
frames := []string{"main.allocSmall1", "main.allocSmall2", "main.allocSmall3"}
|
||||
@ -130,6 +133,9 @@ func allocSmall(n int) {
|
||||
a1k = new([1024]byte)
|
||||
a512 = new([512]byte)
|
||||
a256 = new([256]byte)
|
||||
|
||||
// Slow down the allocation rate to avoid #52433.
|
||||
runtime.Gosched()
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user