doc/go1.17: mention block profile bias fix

Change-Id: I76fd872b2d74704396f0683ffa9cec40b7027247
Reviewed-on: https://go-review.googlesource.com/c/go/+/324471
Reviewed-by: Heschi Kreinick <heschi@google.com>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
This commit is contained in:
Felix Geisendörfer 2021-06-03 15:33:08 +02:00 committed by Heschi Kreinick
parent 9afe071c60
commit 689f4c7415
2 changed files with 32 additions and 0 deletions

View File

@ -725,6 +725,16 @@ Do not send CLs removing the interior tags from such phrases.
</dd>
</dl><!-- runtime/metrics -->
<dl id="runtime/pprof"><dt><a href="/pkg/runtime/pprof">runtime/pprof</a></dt>
<dd>
<p><!-- CL 299991 -->
Block profiles are no longer biased to favor infrequent long events over
frequent short events.
</p>
</dd>
</dl><!-- runtime/pprof -->
<dl id="strconv"><dt><a href="/pkg/strconv/">strconv</a></dt>
<dd>
<p><!-- CL 170079 -->

View File

@ -106,6 +106,28 @@ func TestCPUProfileMultithreaded(t *testing.T) {
})
}
func TestCPUProfileThreadBias(t *testing.T) {
cpuHogA := func(dur time.Duration) {
cpuHogger(cpuHog1, &salt2, dur)
}
defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(2))
prof := testCPUProfile(t, stackContains, []string{"runtime/pprof.cpuHog1", "runtime/pprof.cpuHog2"}, avoidFunctions(), func(dur time.Duration) {
//c := make(chan int)
//go func() {
//cpuHogger(cpuHog1, &salt1, dur)
//c <- 1
//}()
cpuHogA(dur)
//<-c
})
fmt.Printf("%#v\n", prof)
}
func cpuHogA(dur time.Duration) {
cpuHogger(cpuHog1, &salt2, dur)
}
// containsInlinedCall reports whether the function body for the function f is
// known to contain an inlined function call within the first maxBytes bytes.
func containsInlinedCall(f interface{}, maxBytes int) bool {