Go version
gotip
What did you do?
package main
import (
"testing"
)
var a int
func save(x int) {
a = x
}
func foo() {
for i := range yield1 {
defer save(i)
}
}
func yield1(yield func(int) bool) {
yield(1)
}
func BenchmarkFoo(b *testing.B) {
for i := 0; i < b.N; i++ {
foo()
}
if a != 1 {
b.Fatalf("a = %d; want 1", a)
}
}
collect profile
go test -bench=Foo -cpuprofile=default.pgo
run pgo optimized bench
go test -pgo=default.pgo -bench=Foo
What did you see happen?
--- FAIL: BenchmarkFoo
example_test.go:28: a = 0; want 1
FAIL
exit status 1
FAIL tools 0.430s
Go version
gotip
What did you do?
collect profile
run pgo optimized bench
What did you see happen?